설명
: 당신이 JSON을 통해 HTML 데이터를 전송해서는 안, 그 목적이 아니다.
그것은 할 수 있지만, 는는
어느 쪽이든 당신 출력 모든 HTML
일을하지 말아야하며, 서버 페이지에서 모든 처리를 수행하고 HTML로이
PHP처럼
을 반환 (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);
자바 스크립트
var data = {"some_data": "Foobar"};
$.get("server_page.php", data, function(response){
$("#output").html(response);
});
다음이
PHP (server_page처럼 자바 스크립트
에서 처리 할 수
또는 데이터, 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);
자바 스크립트
$.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을 통해 언제든지 자바 스크립트의 일부 데이터를 보낼 수 있습니다. 그것은 당신이 아는 두 가지 방법입니다.
JSON의 모습은 어떻습니까? –
@AymanSafadi : 업데이트되었습니다. –