远程服务器子域上的asp.net Web服务的Jquery Ajax方法错误

时间:2012-07-09 21:51:55

标签: asp.net ajax web-services jquery

我创建了一个项目,它是一个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');
        }
    }
},

1 个答案:

答案 0 :(得分:0)

这意味着您的浏览器会限制您遵守Cross Side限制。如果您可以尝试解决此问题,请考虑使用JSONP,或者如果您可以保证您的用户使用更新的浏览器,您可以使用网络服务器上的标头来解决它。看一下关于它的mozilla document