我正在尝试将脚本连接到Microsoft的World-Wide Telescope应用程序。后者在端口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属性仅为“错误”,状态为0。 。
如果使用相同的URL并将其粘贴到新的浏览器选项卡中,则可以看到响应为预期的XML。
当然,这里的区别在于这是GET而不是POST,但是我已经在脚本中尝试过了,这没有什么区别。
我对此感到非常困惑,不胜感激。
error
回调以查看是否返回错误?