在我的php文件中,我有:
$arr[] = array("status"=>0);
echo json_encode($arr);
在我的javascript中,我有:
$(document).ready(function(){
initialize();
$("#searchbutton").click(function(){
var usrinput = $("#userinput").val();
$.get(
"searchpageajaxjson.php",
{searchterm: usrinput},
function(data){
searchreturned(data);
},
"json"
);
});
});
function searchreturned(data){
console.log(data);
var parsed = jQuery.parseJSON(data);
console.log(parsed);
//for (var i = 0; i < parsed.length; i++) {
// alert(parsed[i]);
// }
//
}
console.log(data)显示[object Obejct] 和console.log(已解析)显示为空
我哪里错了?
编辑添加:
alert(data.status)显示未定义。
第二次编辑:
我非常感谢我收到的所有帮助。很难找到答案,因为由于所有评论中收到的所有帮助,我真的只能继续解决这个问题。我总是敬畏你那些热心帮助像我这样的新手的好心人。
答案 0 :(得分:2)
您不应该再次致电jQuery.parseJSON
上的data
。 jQuery已经为您解决了这个问题,因为您使用"json"
作为dataType
。
答案 1 :(得分:1)
1。没有理由调用jQuery.parseJSON
或$.parseJSON
因为jQuery知道这已经是JSON对象了,因为你在这里传递了"json"
参数:
$.get('source', {param:param}, function(data){ /*work with data*/ }, "json");
2。如果console.log(data);
不为空且您得到一些[Object Object]
,请尝试查看该对象的属性,如下所示:
例如:探索您的对象:
例如:从对象打印值:
//this will output "Horror"
data.genre
希望这会对你有所帮助。