1

クリック機能があり、最初にページをロードしてから、残りのプロセスを続行します。

私の問題は最初のクリックで、「ここに進む」は$.get()機能後に停止します。

ただし、2回目のクリックでは正常に機能します。

.click(){
  $.get(url, function(data){ content = data; } );

  // Continue here
  var x = content or etc...

}

誰かがこれについて考えていますか?問題はajaxの読み込みにあると確信していますが、これを回避する方法はありますか?アドバイスありがとうございます!

4

2 に答える 2

2

Get は非同期です。コードを関数内に配置する必要があります

.click(){
  $.get(url, function(data){ 
    var content = data; 

    // Continue here
    var x = content; // or etc...
  });
}
于 2012-12-28T07:05:43.717 に答える
1

あなたは多くのコードを投稿しませんでしたが、get非同期の呼び出しが原因であると推測しています。したがって、変数contentはまだ存在しません。

.click(){
  $.get(url, function(data){ 
        content = data; } 
 );

 // Continue here
 var x = content; 

 //but content isn't anything yet because GET has not yet returned from the server. 
 //By the time you click a second time, the data has finally round tripped.

代わりに、コールバックで X を実行する必要があります。

.click(){
   $.get(url, function(data){ 
        content = data; 
        var x = content;
    } 
);
于 2012-12-28T07:05:15.917 に答える