我是整个 PHP、jQuery (Ajax)、Mysql 堆栈的新手,我想不通。
我有一些 PHP 代码调用 Mysql 并返回一行,在同一页面中,我将从 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: 意外字符
不知道我做错了什么,非常感谢任何帮助。