[英]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.