[英]Issues with json_encode array
我的JSON_encode和jQuery有問題,我用下面的代碼發布完整的數組,但是我無法讓它僅回顯我需要的一個數組。
$.get("/indexget.php", { page: "goals" },function(data) {
$('#bodyContentStuff').text(data);
完整的jQuery代碼
$("#navLinkGoals").click(function () {
$("#bodyTitleBar").text("Goals");
$.get("/indexget.php", { page: "goals" },function(data) {
$('#bodyContentStuff').text(data);
}
);
完整的PHP代碼
if($_REQUEST['page'] = 'goals'){
$result = mysql_query("SELECT * FROM content WHERE page='indexGoals'")
or die(mysql_error());
$row = mysql_fetch_array( $result );
$message = $row['message'];
}
echo json_encode(array("content"=>"$message"));
我有點編程方面的菜鳥,但是如果您想了解它的作用,則站點為http://www.gronge.com ,只需單擊目標鏈接。
編輯:哦,我也嘗試過
$('#bodyContentStuff').text(data['content']);
但這沒有用。
您是否嘗試過將“,'json'”這樣放置:
$.get("/indexget.php", { page: "goals" },function(data) {
$('#bodyContentStuff').text(data.content);
}, 'json')
沒有那個jQuery,就會聰明地猜測格式是什么...
如前所述,應該是data.content
並如前所述,使用console.log(data)來查看真正的數據(也許是字符串,而它應該是json對象?)
如果是逐字粘貼,則對$ .get的調用中缺少結束括號
$("#navLinkGoals").click(function () {
$("#bodyTitleBar").text("Goals");
$.get(
"/indexget.php",
{
page: "goals"
},
function(data) {
$('#bodyContentStuff').text(data);
}
); // <== Right here
);
(重新格式化代碼以突出顯示差異)
剛剛注意到PHP的潛在問題:
if($_REQUEST['page'] = 'goals'){ //<== are you assigning or comparing?
$result = mysql_query("SELECT * FROM content WHERE page='indexGoals'")
or die(mysql_error());
$row = mysql_fetch_array( $result );
$message = $row['message'];
}
echo json_encode(array("content"=>"$message"));
而不是使用$ .post
$("#navLinkGoals").click(function () {
$("#bodyTitleBar").text("Goals");
$.post("/indexget.php", { page: "goals" },function(data) {
$('#bodyContentStuff').text(data);
}
);
您是否記錄了data
變量? 它記錄什么? 另外: mysql_*
已過時,請清除並開始使用PDO。 但是我認為您打算將$row[0]['message']
分配給$message
變量。 如果內存對我mysql_*
,則mysql_*
總是返回assoc數組的數組或數組的數組。
當我們討論這個主題時:JavaScript沒有assoc數組,只有對象,因此,使用data.content
而不是訪問諸如data['content']
類的data['content']
。 括號表示法是為了方便起見,因此您可以將變量的值用作屬性名(不帶eval),當然是EVIL 。
也在您的php上:
$row = mysql_fetch_assoc($result);
如果要使用$row['message']
表示法,則不是mysql_fetch_array。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.