Привет, я просмотрел здесь вопросы, но ничего не нашел. Я новичок в написании PHP и jQuery, так что несите меня.
То, что я пытаюсь сделать, это отправить запрос ajax с помощью jQuery на мой script, который запускает запрос mysql на данные из моей базы данных и сериализует его в формате JSON, используя php json_encode. Затем ответ обрабатывается с помощью доступного json2.js script. Все это прекрасно работает, но я также хотел бы вернуть больше данных, кроме JSON, из этого script.
в основном, я хотел бы также повторить следующую строку перед json_encode:
echo "<h1 style='margin-left: 25px;'>$num_rows Comments for $mysql_table</h1>";
однако, мой jQuery оценивает весь ответ во время успеха ajax, из-за чего функция json.parse терпит неудачу из-за возврата script в недопустимый формат.
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, чтобы использовать этот script для большей, чем просто json-группы?
Благодарю, этот сайт был замечательным, отвечая на мои вопросы о нобе.
my 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;`