2

好的。我到处搜索,没有找到任何可以理解的答案。请注意这是我第一次实施这种请求。(“我认为每个人都会发生”):P 问题:我有一个 json 文件,例如https://www.example.com/something.json,我想使用 Ajax 通过 JSONP 请求它。我已经读过,为了发出 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() 函数来获取数据吗?如果是,将在代码中添加到哪里?

很多混乱...

4

1 回答 1

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({...})
于 2013-04-05T21:05:34.483 回答