2017-01-29 2 views
0

の値にHTMLタグの内容を設定します。は、私は私のウェブサイトに組み込まれてハイスコアテーブルを持っているPHP「データ」

function topScore() { 
      $.get('topScore.php', function(data) { 
       console.log(data); 
       alert(data); 
       }); 
} 

私のPHP用のエコー機能は次のようになります:タグの意味

echo "<tr><td>$username</td><td>$wealth</td></tr>"; 

それは、入力の各ペアの周りにタグを出力しますので、トータル出力ルックスタグ内に、私は次のコードを持っていますこのような少し何か:

<tr><td>User1</td><td>2500</td></tr> 
<tr><td>User2</td><td>1600</td></tr> 
<tr><td>User3</td><td>1300</td></tr 
<tr><td>User4</td><td>1000</td></tr> 

等...

これはエコー「ダを取りますta 'をtopScore.phpから取り出し、ログに記録します。だから、どうすれば 'データ'がタグの内容と同じになるのですか?もし何とかこれを行うことができれば、名前がテーブルに現れます。これが私が達成しようとしていることです。私はそれを思慮深くしているかどうか分かりませんが、私は本当に混乱しています。

編集:私のコード:

<table border="1" cellspacing="0" cellpadding="2" width="620"><tbody> 
      <thead> 
      <tr> 
       <td>Username</td> 
       <td>Clicks</td>     
      </tr> 
     </thead> 
     <tbody> 

     <script> 
function topScore() { 
     $.get('topScore.php', function(data) { 
     var html = $.parseHTML(data); 

     $.each(html, function() { 
     tds = $(this).find('td'); 
     user = tds[0].innerHTML; 
     wealth = tds[1].innerHTML; 

     $("#result").append("<p>" + user + " - " + wealth + "</p>"); 
     }); 
    }); 
} 

      topScore() 
      </script> 
    </tbody> 
</table> 

答えて

0

私はあなたはそれが簡単に解析することができますPHP側からJSONとしてデータを返す示唆しています。たとえば、次のように

topScore.php

<?php 
header('Content-Type: application/json'); 

$data = ... // your array of [$username, $wealth] pairs 

echo json_encode($data); 

javascript関数:あなたは本当にそれが現在返されるように、データを解析したい場合は

function topScore() { 
    $.getJSON('topScore.php', function(data) { 
     console.log(data); 
     alert(data); 
    }); 
} 

、にはいくつかの方法がありますそれをやる。あなたは正規表現を使用することができますが、それはHTMLであるため、あなたはjQueryのビルトインparseHTML機能を利用することができます。たとえば:

function topScore() { 
    $.get('topScore.php', function(data) { 
     var html = $.parseHTML(data); 

     $.each(html, function() { 
      console.log($(this).find('td').html()); 
     }); 
    }); 
} 
+0

ありがとうございました。しかし、2番目の解決策は、$ .each行ごとにChromeで「未定義」エラーを返すだけです。 – Caspar

+0

私の悪い - 私は "console.log($ this)..."行を意味する – Caspar

+0

申し訳ありませんが、私は解決策をテストしていないと仮定して、上記のようにデータが返されます。参照してください - https://jsfiddle.net/mepks58v/ あなたのデータを合わせて、これを変更する必要があります(改行がある場合、たとえば、あなたがそれらを削除する必要があります) –

関連する問題