PHP和Jquery';s json

PHP和Jquery';s json,php,jquery,json,types,Php,Jquery,Json,Types,我的html文件: <script> $(document).ready(function() { $.ajax({ type: "POST", url: "search.php", data: "id=1", datatype: "json", success: function(msg){ $(

我的html文件:

    <script>
    $(document).ready(function() {  
        $.ajax({
            type: "POST",
            url: "search.php",
            data: "id=1",
            datatype: "json",
            success: function(msg){
                $('.result1').html(msg["name"]);
            }
        });  
    })
    </script>   

    <span class="result1"></span>

$(文档).ready(函数(){
$.ajax({
类型:“POST”,
url:“search.php”,
数据:“id=1”,
数据类型:“json”,
成功:功能(msg){
$('.result1').html(msg[“name”]);
}
});  
})
我的php文件:
    <?
    $a["name"] = 'john';
    echo json_encode($a);
    ?>


为什么John这个名字没有出现在课堂结果1中?为什么?请帮帮我,我快疯了。
编辑:现在可以进行悬赏吗?

我认为您应该使用:

 $('.result1').html(msg.name);

dataType
参数有一个大写字母T。如果您纠正了这一点,它就会起作用


目前,它(默认情况下)试图根据mime类型猜测响应格式,因此可能默认为html-在firebug中调试,您可以看到成功回调的
msg
参数是一个包含JSON的字符串。

不要分散您解决此问题的注意力。但是您可能需要查看.getJSON()函数。如果你只是获取一些数据,它会更干净一些

另外,看看
数据:“id=1”
应该是
数据:“{id:1}”


在响应端,请记住它需要多条记录,因此请尝试:
msg[0].name
,查看以处理多条记录。

如果您在Firefox中使用Firebug扩展,或在Chrome中使用开发工具,您可以看到请求和响应,并查看从服务器返回的数据。它来自{“name”:“john”},这表示它很好,那么我做错了什么?这不会有任何区别。在JavaScript中,点表示法通常可以代替数组表示法。这就是document.forms[“myForm”].elements[“name”].value可以缩写为document.myForm.name.value的方式(这并不是一个好主意)。