我是JQuery,json等的新手。
我有一些json数据,我从一个我不管理的网站进入Jquery手机/手机间隙/ Dreamweaver。 JSON回复如下:
({
"status": "OK",
"total": "1281",
"people": [
{
然后是所有数据,然后以:
结束 }
]
})
括号不允许我的json查询使用简单的函数在浏览器中显示:
<script type="text/javascript">
$(document).on('pageinit', '#more', function(){
var url="http://www.somedata.com";
$.getJSON(url,function(json){
//loop through deals
$.each(json.people,function(i,dat){
$("#todaycal").append("<li>"+dat.name+" "+dat.caseNo+"</li>");
});
$("#todaycal").listview('refresh');
});
});
</script>
如何删除括号或“转义”以使其生效?
感谢。
答案 0 :(得分:3)
我的猜测是你试图访问JSONP数据。您可能需要在网址中添加?callback=?
。
var url="http://www.somedata.com";
$.getJSON(url+'?callback=?', function(json){
//loop through deals
$.each(json.people,function(i,dat){
$("#todaycal").append("<li>"+dat.name+" "+dat.caseNo+"</li>");
});
$("#todaycal").listview('refresh');
});
答案 1 :(得分:2)
听起来你正在访问一个应该使用回调函数的JSONP请求。通常,URL的格式为http://example.com/data.json?callback=foo
,返回的数据为foo({"foo":"bar","fizz":"buzz"})
。可能会添加这些parens,因为回调被评估为空字符串。
答案 2 :(得分:-3)
最简单的方法是修复服务器端代码,使其不返回括号。但是,如果这不是一个选项,您可以使用dataFilter
选项在客户端进行。
$.ajax({
url: theurl,
dataType: "json",
dataFilter: function(data) {
// trim the first and last characters and return the result
}
})