【发布时间】:2015-03-06 03:42:05
【问题描述】:
<script type="text/javascript">
$(document).ready(function(){
var obj = "";
var param = [{ "name": "id", value: 9}];
$.ajax({
type: 'POST',
url: '2.php',
data: param,
success: function(dataFetch) {
var obj = JSON.parse(dataFetch);
alert(obj[0].name);
},
dataType: 'json',
async:false
});
});
</script>
以上是我的代码。 2.php的返回结果是
{"name":"Halford Tee","type":"client","mobile":"1234567","location":"","description":""}
它给了我一个error
Uncaught SyntaxError: Unexpected end of input
当我删除这部分时
var obj = JSON.parse(dataFetch);
alert(obj[0].name);
错误消失了。我的代码有什么问题吗?
在查看了其他程序员的宝贵指南之后
我的 2.php 返回
{"name":"David Tan","type":"leads","mobile":"91234567","location":"","description":""}
我尝试了以下
$(document).ready(function(){
var obj = "";
var param = [{ "name": "eventId", value: 9}];
$.ajax({
type: 'POST',
url: '2.php',
data: param,
success: function(dataFetch) {
alert(dataFetch[0].name);
},
dataType: 'json',
async:false
});
});
它给我一个错误
cannot read property 'name' of undefined.
【问题讨论】:
-
dataType: 'json'将使 jQuery 自动解析响应。如果你只使用alert(dataFetch[0].name);会发生什么? -
@FelixKling 我更新了我的问题,谢谢
-
使用 console.log(dataFetch);看看你得到了什么。
-
2.php返回的json字符串没有数组。试试
alert(dataFetch.name); -
对象 {name: "David Tan", type: "leads", mobile: "91234567", location: "", description: ""}