説明
:あなたはJSON経由でHTMLデータを送信すべきではない、それはその目的ではありません。
それを行うことができますが、はは、すべてのHTMLあなたは出力のどちらか
を行うべきではありませんし、サーバーのページにすべての処理を行い、この
PHPのようにHTML
としてそれを返します(server_page.php)
//Connect
$link = mysql_connect($server, $user, $password);
//Select
mysql_select_db($db, $link);
//Query
$result = mysql_query($query);
$data = $_GET['some_data'];
//Loop
echo "<table id='$data'>";
while($row = mysql_fetch_array($result)){
echo "<tr>";
foreach($row as $key => $value){
echo "<td>$value</td>";
}
echo "</tr>";
}
echo "</table>";
//Cleanup
mysql_free_result($result);
mysql_close($link);
Javascriptを
var data = {"some_data": "Foobar"};
$.get("server_page.php", data, function(response){
$("#output").html(response);
});
この
PHP(server_page同様のJavascript
で処理することができ
あるいは、データと、JSONの情報として、それをあなたが出力されます。PHP)
//Connect
$link = mysql_connect($server, $user, $password);
//Select
mysql_select_db($db, $link);
//Query
$result = mysql_query($query);
$num_result = mysql_num_rows($result);
$data = array(
"mysql_data" => array(),
"num_result" = $num_result
);
//Loop
while($row = mysql_fetch_array($result)){
$data['mysql_data'][] = $row;
}
echo json_encode($data);
//Cleanup
mysql_free_result($result);
mysql_close($link);
Javascriptが
$.getJSON("server_page.php", function(data){
alert("Number of rows returned from query: "+data.num_result);
});
しかし、あなたは二つの異なる方法を混在させるべきではありません。あなたは、すべてのロジックをどこで扱うかを決定し、そこに必要なすべてのデータを渡す必要があります。
ソリューション
あなた自身は
"<tr class=\"{$id}\">lalalal</tr>"
が正しくないJSONで、指摘したように。
それはあなたがや' "" '
を使用している場合
"<tr class='{$id}'>lalalal</tr>"
すべてのJSONは、すなわち、同じ引用記号を共有する必要がありますする必要があります。
サーバー側ですべてのロジックを実行することをお勧めします。 POSTまたはGETを使用して、要求に応じていつでもJavascriptのデータを送信できます。それはあなたが知っている両方の方法になります。
JSONの外観はどうですか? –
@AymanSafadi:更新されました。 –