我有一个接受POST请求的Web API Web服务。它适用于Chrome,IE10 +,但在IE9中它始终返回'错误:访问被拒绝'。我已经多次阅读了this post,并且我尝试了其中的所有内容,但我继续获得相同的访问被拒绝错误。我刚刚在测试机器上运行Fiddler,当我尝试进行服务调用时,IE9甚至没有发出请求,它只是直接进入代码中的错误块。
这是进行调用的jquery函数:
function Login (username, password, appId, org, callback) {
var response = {};
var loginRequest = {
Organization: org,
ApplicationId: appId,
UserName: username,
Password: password
};
$.ajax({
type: 'POST',
url: "theurl",
data: '=' + JSON.stringify(loginRequest),
success: function (data) {
response = {
status: data.status,
info: data.user
};
return callback(response);
},
error: function (error) {
response = {
status: false,
info: error.statusText
};
return callback(response);
}
});
}
我知道数据看起来有点时髦,但这是由于奇怪的Web API问题is explained here。我只想重申一下,这个功能在除IE9之外的所有其他浏览器上都能正常工作。我已经在我的html文件中引用了jquery.xdomainrequest.js文件,但它并没有为我解决这个问题。我已尝试在此函数中指定dataType和contentType,但这些会导致其他错误。
编辑:忘记提及,这个Web应用程序运行在安全(https)端口上,它用于登录的Web API服务也在安全端口上运行,但它们位于不同的机器上,并且不同于域名(相同域名)。我已经为此工作了好几天,我很难过。非常感谢您的帮助!