0

私はプロジェクトを作成しました。これはasp.netプロジェクトであり、Service1.asmxがあり、このプロジェクトをサブドメイン(myservice.test.com/Service1.asmx)のようなリモートサーバーにホストし、このWebサービスをから呼び出しています。 jqueryajaxメソッドを使用したasp.netアプリケーション。このアプリケーションは同じリモートサーバー上にあり、サブドメイン(admin.test.com)のようにホストされています。admin.test.com/ Default.aspx(このページはWebサービスを使用しています)を呼び出すと、このエラーに対してエラーが発生します。 Chromeコンソールで調べたところ、次のように表示されます:* (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');
        }
    }
},
4

1 に答える 1

0

これは、ブラウザによって設定された Cross Side 制限の対象であることを意味します。この問題を回避できる場合、またはユーザーが最新のブラウザーを使用していることを保証できる場合は、Web サーバーのヘッダーを使用して回避できる場合は、JSONP の使用を検討してください。それについてのmozilla ドキュメントを見てください。

于 2012-07-09T21:53:31.463 に答える