2

在我的 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(parsed) 显示 null

我哪里错了?

编辑添加:

alert(data.status) 显示未定义。

第二次编辑:

我非常感谢我收到的所有帮助。很难选择答案,因为由于所有评论中收到的所有帮助,我真的只能从这个问题中继续前进。我总是敬畏你们这些善良的人,他们花时间帮助像我这样的新手。

4

2 回答 2

2

你不应该再打电话jQuery.parseJSONdata。jQuery 已经为您处理好了,因为您"json"使用dataType.

于 2012-07-22T23:44:02.793 回答
1

1.没有理由调用jQuery.parseJSON,或者$.parseJSON因为"json"你在这里传递的参数,jQuery知道它已经是一个JSON对象:

$.get('source', {param:param}, function(data){ /*work with data*/ }, "json");

2.如果console.log(data);不是 null 并且您正在[Object Object]尝试查看该对象的属性,如下所示:

例如:探索你的对象:

在此处输入图像描述

例如:从对象打印值:

//this will output "Horror"
data.genre

希望这对您有所帮助。

于 2012-07-22T23:51:15.143 回答