我在网址中有一些asmx网络服务(例如example.com/Entities/WebServices,假设example.com是我的域名)。这样做的目的是能够访问来自所有应用程序的员工等域数据。因此,按照获取员工数据的示例,我使用方法example.com/Entities/WebServices/EmployeeWs.asmx/GetAll
当我尝试使用JQuery.Ajax从我的localhost获取员工数据时,它在IE8上工作正常。但是当使用Firefox时,$ .ajax调用会将我发送到成功函数,但是会显示一条空消息(还检查了来自firebug的响应,它是200 OK - 0byte)
我把jQuery.support.cors = true;但它在Firefox或Chrome中没有帮助。
我还尝试在example.com/TestProject
中发布测试应用,但结果是一样的。它只适用于IE。
有谁知道错误的原因是什么?
使用IE8,Firefox 8.0.1,Chrome 11.0.6。 JQuery 1.7.1
提前致谢。
var requestedUrl = "http://example.com/Entities/WebServices/EmployeeWs.asmx/GetAll";
jQuery.support.cors = true;
$.ajax({
type: "POST",
contentType: "application/json",
url: requestedUrl,
dataType: 'json',
contentType: "application/json; charset=utf-8",
success:
function(result) {
alert("ok. " + result);
},
error:
function(xhr) {
alert("err. " + xhr.responseText);
}
});
答案 0 :(得分:-1)
端口/协议是一样的吗?如果您从http://example.com拨打https://example.com,则可能会出现此错误。
编辑:看看那里。我自己没有测试过。 How do jQuery do its cross-domain ajax calls and how can I replicate em with mootools