天天看点

ajax能暂停发送吗,jQuery Ajax请求在没有发送的情况下被取消

我正在尝试将脚本连接到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对象的错误属性只是一个"错误"和状态是0.如果我看在Chrome网络请求之我见"(取消)"作为状态,并没有任何反应.

如果我使用相同的URL并将其粘贴到新的浏览器选项卡中,我可以看到响应是预期的XML.

当然,这里的一个区别是,这是一个GET而不是POST,但我已经在我的脚本中尝试过这个并没有什么区别.

我对此感到非常难过,并会欣赏任何新鲜的想法.