请原谅n00b
我有这个简单的json jquery调用,我遇到了问题。
<script>
$(document).ready(function(){
var table = $('#datatable');
$.ajax({
type: 'GET',
url: 'http://jsonurl',
dataType: 'jsonp',
success: function(data) {
$.each(data.responseData.leaderboard, function(i, item){
var rowItem = '<tr><td>' + item.userid +
'</td><td>' + item.username +
'</td><td>' + item.companyname +
'</td/></tr>';
table.append(rowItem);
return i<4;
});
}
});
});
</script>
json url返回类似
的结果{"status": "success",
"message": "",
"responseData": {
"leaderboard": [
{
"userid": 1,
"username": "username1",
"companyname": "Working com 1",
"currentlevel": 1
},
{
"userid": 2,
"username": "username2",
"companyname": "Working com 1",
"currentlevel": 13
}
]
}
}
当我尝试使用不在数组中的结构时,代码可以正常工作但是上面我得到一个SyntaxError:missing;在firebug控制台中声明错误之前。我做错了什么?
答案 0 :(得分:1)
尝试将dataType: 'jsonp'
更改为dataType: 'json'
您收到的数据为json
而不是jsonp
。因此,错误已经发生。
答案 1 :(得分:0)
我可以通过省略变量赋值来复制错误,如下所示。
如果您解释这部分问题,将会有所帮助......
当我尝试使用不在数组中的结构时代码可以工作但是 以上我得到一个SyntaxError:missing;
此示例将返回 SyntaxError:missing;在陈述之前
<script type="text/javascript">
// var data =
{"status": "success",
"message": "",
"responseData": {
"leaderboard": [
{
"userid": 1,
"username": "username1",
"companyname": "Working com 1",
"currentlevel": 1
},
{
"userid": 2,
"username": "username2",
"companyname": "Working com 1",
"currentlevel": 13
}
]
}
}
</script>
此示例无错误地运行:
<script type="text/javascript">
var data =
{"status": "success",
"message": "",
"responseData": {
"leaderboard": [
{
"userid": 1,
"username": "username1",
"companyname": "Working com 1",
"currentlevel": 1
},
{
"userid": 2,
"username": "username2",
"companyname": "Working com 1",
"currentlevel": 13
}
]
}
}
</script>