我的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>
我的php文件:
<?
$a["name"] = 'john';
echo json_encode($a);
?>
为什么名称John没有出现在类result1中?为什么?请帮帮我,我疯了。
编辑:现在可以获得赏金吗?
答案 0 :(得分:5)
dataType
参数有一个大写字母T.如果你纠正它,它就有效。
目前它(默认情况下)试图根据mime类型猜测响应格式,所以可能默认为html - 在firebug中调试你可以看到成功回调的msg
参数是一个字符串包含JSON。
答案 1 :(得分:0)
不要分散您对解决此问题的注意力。但是你可能想要查看.getJSON()函数http://api.jquery.com/jQuery.getJSON/。如果您只是获取一些数据,那就更清洁了。
此外,请查看JSON format,我认为data: "id=1"
应为data: "{id:1}"
在响应方面,请记住它需要多条记录,所以请尝试:msg[0].name;
,查看each() function以处理多条记录。
答案 2 :(得分:-2)
我认为你应该使用:
$('.result1').html(msg.name);