PhoneGap XHR responseText为空,状态为0,CORS?

时间:2015-02-17 10:09:32

标签: javascript android ajax cordova

我有Android 4.0.4和一个同步XmlHttpRequest的PhoneGap 3.6.3应用程序:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://myserver/myapp/api/ProgramOptions', false);
xhr.setRequestHeader("Accept","application/json");
xhr.send(null);
window.alert(xhr.responseType);
window.alert(xhr.readyState);
window.alert(xhr.statusText);
window.alert(xhr.status);
window.alert(xhr.responseText);
window.alert(xhr.getAllResponseHeaders());

在浏览器中加载网络应用时,我得到了

""
4
"OK"
200
"{"success":true,data:[/*snip*/]}"
"Pragma:no-cache
Date:Tue, 17 Feb 2015 09:40:45 GMT
Content-Encoding:gzip
WWW-Authenticate:Negotiate oYG2MIGz/*snip*/
Server:Microsoft-IIS/7.5
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
Persistent-Auth:false
Vary:Accept-Encoding
Content-Type:application/json; charset=utf-8
Access-Control-Allow-Origin:*
Cache-Control:no-cache
Content-Length:10586
Expires:-1"

加载phonegap应用时,我

""
4
""
0
""
""

有谁知道为什么会这样?我已经搜索了状态0,但是有很多原因,我找不到 - 除了跨源请求 - 还带有一个空的responseText。但是,config.xml包含<access origin="*" />,正如您所看到的,服务器还会发送Access-Control-Allow-Origin标头,因此CORS应该没有问题!?

0 个答案:

没有答案