Merhaba burada soruları arandı, ancak bir şey bulamadı. PHP ve jQuery yazma yeniyim, yani ayı ile beni.
Ne yapmaya çalışıyorum benim veritabanından veri üzerinde bir mysql sorgu çalıştırır ve PHP'nin json_encode kullanarak JSON biçiminde içine serileştirir benim script jQuery kullanarak bir ajax isteği gönderilir. Yanıtı daha sonra mevcut json2.js komut ile ayrıştırılır. Tüm bu iyi çalışır, ama ben de bu script sadece JSON dışında fazla veri dönmek istiyorum.
ağırlıklı olarak, ben de json_encode önce aşağıdaki satırı yankı istiyorum:
echo "<h1 style='margin-left: 25px;'>$num_rows Comments for $mysql_table</h1>";
Ancak, benim jQuery JSON.parse işlevi nedeniyle betiğin dönüş biçimi geçersiz olmak için başarısız yapma, ajax başarı sırasında tüm yanıtı değerlendirmek.
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 + '');
}
i html çizgi yanı sıra sadece json nüfusundan daha fazla, bu komut dosyasını kullanmak için json_encode dönebilirsiniz nasıl bilen var mı?
teşekkür ederim, bu web sitesi benim çaylak soruları yanıtlayan harika olmuş.
Benim 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;`