我创建了一个项目,它是一个asp.net项目,它有一个Service1.asmx,并将该项目托管到远程服务器,如子域( myservice.test.com/Service1.asmx )和我正在使用jquery ajax方法从asp.net应用程序调用此Web服务。此应用程序位于同一个远程服务器上,当它调用admin.test.com/Default.aspx(此页面使用Web服务abow)时,它就像子域( admin.test.com )一样托管它给出这个错误的错误ı用chrome console查看,它说:* (Access-Control-Allow-Origin不允许)。 * 4444
GET_CAT_ALL: function (userId, callback, callback_err) {
try {
$.ajax({
type: "POST",
url: myservice.test.com/Service1.asmx + "/GET_CAT_ALL",
data: "{userId:" + userId + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.d == "0" || msg.d.length == 0 || msg.d == null) {
if (typeof callback == 'function') {
callback(null);
}
}
else if (msg.d <= 0) {
if (typeof callback_err == 'function') {
callback_err(msg.d, msg, 'GET_CAT_ALL');
}
}
else {
var _data = eval("(" + msg.d + ")");
if (typeof callback_err == 'function' && _data[0] != null && typeof _data[0].ErrorCode != 'undefined') {
callback_err(_data, msg, 'GET_CAT_ALL');
}
else if (typeof callback == 'function') {
callback(_data);
}
}
},
error: function (msg) {
if (typeof callback_err == 'function') {
callback_err(-1, msg, 'GET_CAT_ALL');
}
}
});
}
catch (err) {
if (typeof callback_err == 'function') {
callback_err(-2, err, 'GET_CAT_ALL');
}
}
},
答案 0 :(得分:0)
这意味着您的浏览器会限制您遵守Cross Side限制。如果您可以尝试解决此问题,请考虑使用JSONP,或者如果您可以保证您的用户使用更新的浏览器,您可以使用网络服务器上的标头来解决它。看一下关于它的mozilla document。