Привет перебрал вопросы здесь, но ничего не смог найти. Я новичок в написании PHP и jQuery, так что терпите меня.
Я пытаюсь отправить ajax-запрос с использованием jQuery в мой скрипт, который выполняет запрос mysql для данных из моей базы данных и сериализует его в формат JSON с использованием php-файла json_encode. Затем ответ анализируется с помощью доступного сценария 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;`