私は PHP、jQuery (Ajax)、Mysql スタック全体の初心者であり、これを理解することはできません。
Mysql を呼び出して 1 行を返す PHP コードがいくつかあります。同じページで、php から返された json を jquery に読み込み、JSON.parse
関数を使用して、そのオブジェクトの情報を次のように取得できclient.firstname
ますclient.lastname
。 .
PHP:
$query="SELECT * FROM clients WHERE clientid='$clientid'";
$result=mysqli_query($con,$query) or die(mysql_error());
$num_rows=mysqli_num_rows($result);
$row = mysqli_fetch_array($result);
$client=json_encode($row);
jQuery:
$(document).ready(function() {
data='<?php echo $client?>';
client=JSON.parse(data);
$("#company").val(client.company);
$("#firstname").val(client.firstname);
});
ただし、同じクエリを実行し、同じデータを返す PHP ファイルに対して ajax 呼び出しを実行しようとすると、問題が発生します。ajax呼び出しでjsonオブジェクトを受け取ったら、それを印刷して、行を受け取っていることを確認できますが、JSON.parse(data)
関数を呼び出すとすぐにエラーメッセージが表示されます
PHP:
$query="SELECT * FROM clients WHERE clientid='$clientid'";
$result=mysqli_query($con,$query) or die(mysql_error());
$num_rows=mysqli_num_rows($result);
$row = mysqli_fetch_array($result);
$client=json_encode($row);
echo $client; //this is the only different line
jQuery
$.ajax({
type: "POST",
url: "ClientDetails.php",
data: "clientid="clientid,
datatype: "json",
success: function(data){
client=JSON.parse(data);
$("#company").val(client.company);
$("#firstname").val(client.firstname);
}
});
実行すると、Firebug で次のエラー メッセージが表示されます。
SyntaxError: JSON.parse: 予期しない文字
何が間違っているのかわかりません。どんな助けでも大歓迎です。