5

次のajax投稿があります:

$.ajax( {
    type: "POST",
    url: "http://192.168.7.9/api",
    dataType: 'json',
    data: { username: "john.doe", password: "123456", method: "search_samples" },
    success: function ( data ) {
       // Never get here
    },
    error: function ( XMLHttpRequest, textStatus, errorThrown ) {
        // Always here: if async true, errorThrown has no message
        // otherwise I se the NETWORK_ERR message
    }
} );

このエラーで返されます: NETWORK_ERR: XMLHttpRequest Exception 101.

私はこのエラーに関する SO の投稿をたくさん読んだことがありますが、ほとんどの場合、async を true に設定することをお勧めします。これによりエラーメッセージが削除されますが、それでもエラーであり、有効なデータが得られません。役に立たないエラーメッセージを削除するようです。

フィドラーでは、同じ開発マシンでこれは完全に機能します-これはクロムの問題ですか? 出身地の問題?構文に何か問題がありますか?

4

1 に答える 1

1

OK、同じオリジン ポリシーで問題が発生しているようです。あなたのやり方では、アプリケーションをホストしているサーバーとは異なるサーバーから AJAX データにアクセスすることはできません。

そのためには、http://192.168.7.9/api機能をサーバーに移動するか、JSONP を使用してデータを転送する必要があります。これを行う方法の例を次に示します。

于 2013-03-27T21:07:32.223 に答える