使用XMLHttpRequest进行跨域ajax调用时出现网络错误

时间:2013-12-09 18:29:11

标签: javascript ajax web-services xmlhttprequest

这就是我设置xmlhttp

的方法
xmlhttp = new XMLHttpRequest();

我按照this post中的说明解释了如何发送POST请求。

xmlhttp.open("POST", url, false);//false means synchronous
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.withCredentials = true;
xmlhttp.send(postData);// This line throws Network Error exception.

备注:

此网址是.asmx网络服务。

当我尝试使用浏览器从中获取数据时,此Web服务正常工作。

当我尝试在Web服务所在的同一域中运行此代码时,代码运行正常,并按预期返回数据。

我的大多数代码都是基于异步调用,其中出现同样的问题,这个例子只是为了简单而同步。

我的问题:

当我尝试从localhost运行此代码时,我提到的行会抛出异常。 我检查了从Web服务返回的实际响应,结果是它包含应该的数据。

HTTP/1.1 200 OK
Cache-Control: private, max-age=0
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
Persistent-Auth: true
X-Powered-By: ASP.NET
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST
Access-Control-Allow-Headers: Origin,cache-control,content-type,man,messagetype,soapaction
Date: Mon, 09 Dec 2013 18:20:03 GMT
Content-Length: 563

The actual data exists here in the response....

修改

当我使用异步调用时,请求以状态0 结束,但它仍然有数据。

0 个答案:

没有答案