3

私はAJAXにかなり慣れていません

特定のボタンを押すと、AJAXを介してWebページBを呼び出すWebページ(たとえば、WebページA)があります。ウェブページBには2つのJavaScriptファイルが含まれています。これで、ボタンをクリックするたびに、javascriptファイルがロードされません。対応するCSSファイルはAJAXによって正常にロードされます。これが私が検査後に得たものです-

エラーはjquery.jsの7372行目にあります

ここで私の質問が発生します1-wdm.jsをどのように呼び出しますか?=乱数??

さて、回避策として、jQuery.getScript()このコードを使用して関数を使用してjavascriptファイルをロードしようとしました-

$.ajax({
     type: "POST", url: "webpageB.php", data: "id="+id,
         complete: function(data){
                           //some code

                           $.getScript('js/wdm.js');

                           // some code
                }
           });

それでも私は今このエラーを受け取っています-

ここで私の質問2が発生します-どこからともなく出てきた乱数がajaxGETリクエストに表示されるのはなぜですか?

何らかの理由でウェブページAでJavaScriptを使用できないため、残っている唯一のオプションは、JavaScriptを動的に(ウェブページBのDOM要素と同期して)ロードすることです。誰かがいくつかの方法を提案できますか?

URLにはまだその乱数があります

編集-関数を使用ajaxsetupすると、URLに表示されている乱数が削除されますが、chrome inspector(ajax呼び出しの監視に使用)にエラーが表示されない場合でも、ファイルがajaxによってロードされていないことがわかります。今、状況は少し複雑です。

4

2 に答える 2

1

乱数は、ブラウザのキャッシュを防ぐために使用されるタイムスタンプです。それがあなたが望むものでない場合はcache : true、ajax呼び出しにオプションを追加してください。例:$.ajax({url: "url", success: callback, cache: true});。今後のすべてのAJAXリクエストがデフォルトでキャッシュされないようにする場合(これは実際にはjQueryのデフォルト設定です):

$(document).ready(function() {
  $.ajaxSetup({ cache: true });
});
于 2013-01-12T00:25:54.507 に答える
0

どこからともなく出てきた乱数がajaxGETリクエストに表示されるのはなぜですか?

このように適用されたこの乱数は、その内容ではまったく役に立たない。キャッシュバスティングに使用されます。基本的に、そのクエリ文字列をファイル参照に添付すると、キャッシュされたバージョンのファイルが使用されなくなります。

于 2013-01-12T00:26:32.370 に答える