4

$.ajaxAJAX リクエストを通常のリクエストとしてマスクするために設定する必要があるパラメーターは何ですか? 私はそれが正しいヘッダーに関係していると思います。

問題の大部分は、ローカルの .html ファイルで作業しているときに、jQuery がヘッダー値をOriginに設定することだと思いますnull

Origin-header を取り出す方法はありますか?

現時点では、同じ URLから、Web ブラウザーを介してサーフした場合と、jQuery AJAX 要求を実行した場合に、異なる結果が得られます。

4

3 に答える 3

7

最新のすべてのブラウザで同一生成元ポリシーが適用されているため、これは不可能です。

于 2011-08-31T09:08:25.373 に答える
6

jQuery で送信された AJAX リクエストと通常のリクエスト(通常のリクエストの意味が何であれ) との唯一の違いは、X-Requested-With: XMLHttpRequest追加される HTTP ヘッダーです。このヘッダーは次のように削除できます。

$.ajax({
    url: '/foo',
    type: 'POST',
    data: { bar: 'baz' },
    beforeSend: function(xhr) {
        xhr.setRequestHeader(
            'X-Requested-With',
            {
                toString: function() { return ''; }
            }
        );
    },
    success: function(result) {
       alert(result);   
    }
});

またはグローバルに、サイト上のすべての AJAX リクエストに対して:

$.ajaxSetup({
    beforeSend: function(xhr) {
        xhr.setRequestHeader(
            'X-Requested-With',
            {
                toString: function() { return ''; }
            }
        );
    }
});
于 2011-06-21T21:44:25.553 に答える