0

JavaScript で変数を呼び出そうとすると問題が発生します。例えば:

listItem = "Hello";
listItem +=" Everyone";

次に、これを行います:

 $.post('example.php',{}, function(data){
          listItem += data;
    });
 alert(listItem);

出力は次のとおりです: Hello Everyone, but I want to concatenate with variable data. どうすればこれを行うことができますか?

前もって感謝します。

4

3 に答える 3

1

コールバックの代わりにこのパターンを使用すると、何が起こっているかを確認する可能性が高くなります。

$.post('example.php', {})
   .then(function(data)
   {
      //things inside this function execute after the post is done
      alert("Server has just replied to post.");
      listItem += data;
      alert(listItem);
   });
alert("Post was just sent.");

ポップアップは次の順序で表示されます。

  • [投稿が送信されました。]
  • [サーバーが投稿に返信しました。]
  • 内容listItem
于 2013-02-09T17:04:40.787 に答える
0

コードが実行される順序は次のとおりです。

// 1.
listItem = "Hello";
listItem += " Everyone";

// 2.
alert(listItem);

// 3.
$.post('example.php', {}, /* your callback here */);

// 4. wait for server to respond

// 5. server responds

// 6. your call back is run
listItem += data;
于 2013-02-09T17:10:43.150 に答える
0

jQuery$.postは非同期であるため、呼び出しの直後にアラートを$.post呼び出すと、元の配列が出力されます。

データを取得したい場合は、成功関数でアラート呼び出しを移動するか、コードを非同期的にリファクタリングします。

于 2013-02-09T16:35:19.410 に答える