2013-03-27 20 views
5

は、私は、次のAjaxのポストを持っている:Ajaxのポストエラー:NETWORK_ERR:XMLHttpRequestの例外101

$.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の例外101

私はSOの束を読んだことがありますこのエラーの投稿は、ほとんど私がtrueに非同期を設定することを示唆しています。これはエラーメッセージを削除しますが、それでもエラーです。有効なデータが得られません。それはちょうど役立たないエラーメッセージを削除するようです。

同じデバイスで、これは完全に動作します - これはクロムの問題ですか?起源の問題?私の構文に何か間違っていますか?

+0

これは相互ドメイン要求ですか(つまり、メインアプリケーションは 'http:// 192.168.7.9'では実行されていません)? – Steve

+0

@Steveこれらのマシンは同じサブネット上にありますが、192.168.7.9のマシンはドメインにはまったくありません。 – Nicros

答えて

1

[OK]をクリックすると、same origin policyの問題が発生しているようです。あなたがやっているように、アプリケーションをホストしているサーバーとは別のサーバーからAJAXデータにアクセスすることはできません。

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

+0

これまでのところ、jsonpを使用しようとしていますが、次のエラーが表示されます: 'jQuery19108882399478461593_1364424507799は呼び出されませんでした。私は、サーバー自体がjsonpをサポートしなければならない場所を読んでいると思いますか?多分それは何が起こっているのでしょうか? – Nicros