我遇到了一个奇怪的问题,并且相信它是特权,但不确定在哪里可以找到问题?当我点击一个按钮时,我创建了一个简单的html测试页面来对我的网络服务器进行ajax调用。
jQuery.support.cors = true;
var pageUrl = 'http://webservice.svn/WebService1.asmx';
$.ajax({
type: "POST",
url: pageUrl + "/Helloworld",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response.d);
},
error: function (response) {
alert(response.status + " " + response.statusText);
}
});
运行带有URI地址http://mobile.svn/test.html的html页面 - 我收到错误0,但是作为URI运行 - c:\ Mobile \ test.html它正在返回Hello World。所以我可以看到它是通过IIS运行时失败的ajax 我正在运行Windows 8.1 感谢
更新
答案 0 :(得分:0)
因为发布请求的跨域资源共享(CORS)。发布跨域请求被浏览器安全阻止。
在这里你可以找到一些帮助
http://techblog.constantcontact.com/software-development/using-cors-for-cross-domain-ajax-requests/
答案 1 :(得分:0)
谢谢abmichelle!你指引我走向正确的方向。 我的webservice在webconfig中没有customHeaders ......: - )
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE"/>
<add name="Access-Control-Allow-Headers" value="Content-Type, Accept"/>
</customHeaders>