从 PHP 脚本返回 JSON 和 HTML
嗨搜索了这里的问题,但找不到任何东西。我是编写PHP和jQuery的新手,所以请耐心等待。
我试图做的是使用jQuery向我的脚本发送一个ajax请求,该脚本对数据库中的数据运行mysql查询,并使用php的json_encode将其序列化为JSON格式。然后使用可用的 json2.js 脚本解析响应。所有这些都工作正常,但我也想从这个脚本返回更多的数据,而不仅仅是JSON。
主要是,我还想在json_encode之前回显以下行:
echo "<h1 style='margin-left: 25px;'>$num_rows Comments for $mysql_table</h1>";
但是,我的jQuery在ajax成功期间评估整个响应,由于脚本的返回格式无效,json.parse函数失败。
success: function(data) {
//retrieve comments to display on page by parsing them to a JSON object
var obj = JSON.parse(data);
//loop through all items in the JSON array
for (var x = 0; x < obj.length; x++) {
//Create a container for the new element
var div = $("<div>").addClass("bubble").appendTo("#comments");
//Add author name and comment to container
var blockquote = $("<blockquote>").appendTo(div);
$("<p>").text(obj[x].comment).appendTo(blockquote);
var cite = $("<cite>").appendTo(div);
$("<strong>").text(obj[x].name).appendTo(cite);
$("<i>").text(obj[x].datetime).appendTo(cite);
}
$("#db").attr("value", '' + initialComments + '');
}
有谁知道我如何返回html行以及json_encode使用此脚本而不仅仅是json人口?
谢谢,这个网站在回答我的新手问题方面非常出色。
我的 php:'
for ($x = 0, $numrows = mysql_num_rows($result); $x < $numrows; $x++) {
$row = mysql_fetch_assoc($result);
$comments[$x] = array("name" => stripslashes($row["name"]), "comment" => stripslashes($row["comment"]), "datetime" => date("m/d/Y g:i A", strtotime($comment['datetime'])));
}
//echo "<h1 style='margin-left: 25px;'>$num_rows Comments for $mysql_table</h1>";
$response = json_encode($comments);
echo $response;`