确定。我到处搜索,没有找到任何可以理解的答案。 请注意它是我第一次实施这种请求。 (“发生在我认为的每个人身上”):P 问题:我有一个json文件说例如https://www.example.com/something.json,我想通过JSONP使用Ajax请求它。 我已经读过,为了发出JSONP请求,你必须将数据包装到回调函数中。所以我编辑了生成json文件的php文件,并添加了$ _GET('callback')函数来包装数据。所以,如果我输入浏览器https://www.example.com/something.json/?callback=jsonpCallBack,我可以看到我的数据包装jsonpCallBack([{.......}]);
在jQuery中,我现在尝试访问此信息并每隔20秒将数据附加到html。 所以我有
var url='https://www.example.com/something.json/?callback=jsonpCallBack';
var main= $.ajax({
type:'GET',
url : url,
dataType:'jsonp',
jsonpCallback:'jsonpCallBack',
success: function(data)
{
.......
var outputhtml='<ul>';
var item = [];
for(var i =0; i < data.length-1 ;i++)
{
var item = data[i];
..........
$('.div').html(outputhtml) ;
}
});
setInterval(function() {
main;
},20000);
main;
但我无法看到我的数据更新。我错过了什么?我还必须使用$ .getJSON()函数来获取数据吗?如果是,将在代码中添加哪里?
很多困惑......
答案 0 :(得分:0)
试试这样:
var main = function() {
var url = 'https://www.example.com/something.json/';
$.ajax({
url: url,
jsonp: 'callback',
dataType: 'jsonp',
success: function (result) {
...
}
});
};
window.setInterval(main, 20000);
main();
如果https://www.example.com/something.json/?callback=foobar
返回以下结果(您在问题中提到的情况就是这样,对吧?),那将会有效:
foobar({...})