我正在尝试连接到微软的全球望远镜应用程序的脚本。后者在端口5050上侦听命令。它和浏览器运行在同一台机器上(Chrome 现在正在运行,但据我所知,Firefox 7和 IE 9的行为是一样的)。
我发送了一个带有原始 html 文件的“ Access-Control-allow-Origin: *”头,试图消除 XSS 限制作为我的问题。
我访问 WWT 的代码如下:
$.ajax({
type: 'POST',
url: url,
data: data,
crossDomain: true,
success: success,
dataType: dataType
});
在本例中,url 是“ http://127.0.0.1:5050/layerapi.aspx?cmd=new& ; ...”(显然... 在这里是一些附加参数的简写)。
看看 Chrome 的网络诊断,我发现:
Request URL:http://127.0.0.1:5050/layerApi.aspx?cmd=new&...
Request Headersview source
Accept:application/xml, text/xml, */*; q=0.01
Content-Type:application/x-www-form-urlencoded
Origin:http://gwheeler4
Referer:http://gwheeler4/conceptconnect.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1
请求正在发出-我看到 WWT 创建了一个新的层。但是,我没有得到回复。如果我添加一个调用的错误回调函数,但 jqXHR 对象上的 error 属性只是“ error”,status 是0。如果我在 Chrome 中查看网络请求,我会看到“(取消)”作为状态,没有响应。
如果我使用相同的 URL 并将其粘贴到一个新的浏览器选项卡中,我可以看到响应是预期的 XML。
当然,这里的不同之处在于这是一个 GET 而不是一个 POST,但是我已经在我的脚本中尝试过了,它没有什么不同。
我被这个难住了,希望能有新的想法。