2011-06-27 5 views
-1

これはWebページに返される累積のメッセージである必要があります。プロセスが開始/停止/中断するたびに、それが表示されます。表示されたメッセージは、状態にとどまっているときには停止/起動された/というようにはなりません。これらの状態が変わるたびに表示され、jquery.append()のようにはなりません。ajaxリクエストから返ってきたときにDIVの中に新しい行を作るためのjQueryの取得

started 10:48 
started 10:48 
started 10:48 
started 10:48 
started 10:48 
started 10:48 
started 10:48 
stoped 10:50 
. 
. 

などを望まない

は(APPENDのように()だろう)

started 10:48 
stoped 10:50 
Started 12:53 
suspended 3:34 
Started 3:40 
を希望

+1


」がHTMLに追加されていることがわかりました。これが動作していないと報告している場合は、「
」 –

+0

に置き換えてください。「累積返品メッセージ」とはどういう意味ですか?申し訳ありませんが、これは理にかなっていません。あなたは、あなたが期待するもののいくつかの例を含めることができますか? –

答えて

9
<script> 
    //Use this 
    last=null; 
    $.ajax 
       ({ 
        url: "../getStatus/", 
        dataType: 'json', 
        success: function(json) 
       { 
         //Replace this line 
         //$('#ajaxLog').html(json.status+"<br/>"); 

         //with this: 
         if(last!=json.status) 
         { 
          $('#ajaxLog').append(json.status+"<br/>"); 
          //or: $('#ajaxLog').append('<p>'+json.status+'</p>'); 
          last=json.status; 
         } 
       } 
      }); 

</script> 

//Need this section to make a new line when refreshed 
<div id = ajaxLog style="width:50%"></div> 
5

改行はHTML形式ではありません。

$('#ajaxLog').append(json.status + '<br/>'); 

かのdivに中身を入れて:あなたは新しい行にセマンティクスを達成するために<br/>タグを使用することができ

$('#ajaxLog').append('<div>' + json.status + '</div>'); 

また、あなたが上書きされないように代わり.html().append()方法を使用する必要がありますこれが呼び出されるたびにajaxLog divの内容が返されます。

+1

これは試しても動作しません。 – stackoverflow

+0

@ Mrshll187でもありがとうございます。あなたは '.html()'の代わりに '.append()'を使うべきです。 –

0

HTMLに改行を追加しますか?

success: function(json) 
{ 
    $('#ajaxLog').html("<br />" + json.status+); 
} 
+0

それはうまくいきません。回答ありがとう – stackoverflow

0

これを誤解しない限り、divの完全な内容を置き換えるhtml()メソッドを呼び出しています。あなたは実際にdiv内に既にあるものに(新しい行に)結果を追加しようとしていますか?

質問を正しく理解していないと謝罪します。

0

はアヤックスの設定が

data: ''

追加

を持つべきではありませんので、それは

url: '../getStatus/', data: '', dataType: 'json', success: ...

のように見えますか?私はこれをどこかで読んだことはかなり確信しています。