2012-02-07 23 views
0

を無視されて。jQuery.ajaxSetupは()私はこれを持っているJSファイルで

function RequestViewModel() { 
    var self = this; 
    (...) 
    // Initalization Methods 
    $.ajax({ 
     url:ajaxAddress + 'LoadStates', 
     success: function (data) { 
      debugger; 
     } 
    }); 
} 
var model = new RequestViewModel(); 

しかし、コードでajax呼び出しが行われると、JSONの代わりに 'xml'がdataTypeとして使用されています。これは私のWebサービスコールを中断させています。私はいつもAJAX呼び出しのエラーコールバックに送られます。実際のAjax呼び出しの中で設定を移動すると、呼び出しが機能し、サーバーからデータが返されます。なんらかの理由で、グローバル設定が尊重されていません。

私の質問はなぜこれが機能していないのですか?私はこの問題を解決するために、この同じテクニックをいくつか使ってきました。

私はjQueryバージョン1.7.1を使用しています。

UPDATE

問題は、jQueryのファイルの行7517にあるように思えます。これは、偽に評価されているIF文を実行しており、要求ヘッダーに正しいコンテンツタイプを設定することをスキップしています。

+0

'$ .ajaxSetup()'呼び出しが実行されていますか? –

+0

ファイル内の最初の呼び出しです。 .ready()の内部にある必要がない限り。 – arb

+0

必須ではありませんが、すべてのJSは実際には '.ready()'の中にあるべきです – KOGI

答えて

2
  • 文書準備ラッパー内のあなたの.ajaxSetupを入れてみてください。(NOT可能性の高い原因が)
  • 代わり$.ajaxSetup
  • jQuery.ajaxSetupを使用してみてくださいグローバルイベントハンドラはajaxSetupにないことをお勧めします。代わりにerror:$.ajaxError(に移動し:

    jQuery.ajaxError(function (e, jqxhr, settings, exception) { alert(settings.url + " Failed");
    });

例を使用すると、ログクラスとdiv要素を持っている場合(何らかのエラーが発生した場合にいくつかのテキストを置く:

$("div.log").ajaxError(function() { 
    $(this).text("Triggered ajaxError handler."); 
}); 

注:リファクタリング最後のカンマを削除してください。

また、jQueryの最新バージョン(現時点では1.7.1)を使用している場合は、 :

contentType: "application/json; charset=utf-8", 

EDIT

contentType: "application/json", 

へ:迅速、汚いグローバルハンドラ:

$(document).ajaxError(function(e, xhr, settings, exception) { 
    alert('error in: ' + settings.url + ' \\n'+'error:\\n' + exception); 
}); 

はEDIT2:いくつかのリソースもとして送信され、空のデータセットを置く:(引用符で)

data: "{}", 
+1

うん、それはそれをした 'data:" {} "だった。以前のプロジェクトで使用していた古いバージョンのjQueryでその領域を調べました。その領域のロジックが変更されたため、空のオブジェクトを使用しても機能しなくなったようです。 – arb

0

ここで、.ajaxSetup()が呼び出されていますか?他のプラグインを使用していますか?他のライブラリがあなたのオプションを誤って上書きしている可能性があります。

+0

私はKnockout.jsプラグインも使用していますが、それは影響はないと思います。 – arb

+0

ノックアウトが問題を引き起こしていないことを確認できます。私はテストのためにサイトから削除しました。 – arb

+0

それから私はすでに言及されている.ready()ラッパーと関係があると思われます。 – KOGI

関連する問題