私のコードは次のとおりです。jQuery Ajaxリクエストをどのようにデバッグできますか?
var test = "it isn't working";
var response = $.ajax({
type: 'GET',
url: 'jquerydemo.php', //This is in the same site as the page calling this request, so it's not a same-domain error.
success: function(){
test = "it's working";
},
error: function(){
alert("Error detected");
}
}).responseText;
alert(test);
私は、ステータスコードをテストし、それが200に出てきて、誤差関数が消えることはありませんが、どちらも成功機能は行いません。私のコメントで言ったように、それは同じ起源の政策の誤りではありません。それは単に "それは働いていない"と言っています。何が起きてる?
また、非同期 '追加するオプションがあります:あなたは' ajax'コールに渡す設定にtrue'をするが、これは、実行のスレッド全体を停止することを念頭に置いておきますあなたのスクリプトの中で、リクエストが返されるまで。 – dfreeman
@SchiefGelaufen - あなたは 'async:false'を意味すると思います。 ajax呼び出しを同期呼び出しにすることは実際の選択ですが、ajax呼び出しの期間中はWebページ全体がロックされるため、ほとんど最適な設計方法とは限りません。 'async:true'でコーディングするのはもっと複雑ですが、より良いユーザーエクスペリエンスを提供します。 – jfriend00
おっと、私の愚かなタイプミス。はい、 'async:false'です。同期Ajaxリクエストを作成すると、ページ全体がロックされる(少なくともいくつかの状況がありますが)ことは必ずしも真実ではありませんが、成功の際にはレスポンスに依存するロジックを置く方が良い方法と考えられます折り返し電話。 – dfreeman