如何使用.jsonp jquery从URL中检索数据?

时间:2012-08-04 03:03:19

标签: jquery

有谁知道如何使用.jsonp jquery从URL检索数据?我编写了以下代码,但它似乎对我不起作用:

$.JSONP({
    url: 'http://test.com',
    callbackKey: 'jsoncallback',
    onComplete: function (data) {
        alert(data)
        // the request was completed.
    }
});

注意:网址正常

3 个答案:

答案 0 :(得分:1)

什么是$.JSONP?最简单的方法如下

var url="http://scoreboardwcf.sportal.com.au/scoreboard.svc/GetCalendarData?BaseURL=http://www.sportal.com.au/&Sport=All&CompetitionID=0&callback=?";
$.getJSON(url, function(data) {
  alert(data);  
});

Here is an example

更新:由于您在评论中询问了 - 我如何将其应用到for循环中呢?

var url="http://scoreboardwcf.sportal.com.au/scoreboard.svc/GetCalendarData?BaseURL=http://www.sportal.com.au/&Sport=All&CompetitionID=0&callback=?";

$.getJSON(url,  function(data) {
    document.write('DefaultFixtureNo : '+data.Calendar.DefaultFixtureNo+'<br /><br />');
    var items=data.Calendar.FixtureData;
    for(i=0;i<items.length;i++){
        var item=items[i];
        for(x in item) document.write(x+' : '+item[x]+'<br />');
        document.write('<br /><br />');
    }
});

Example Here using for loop

答案 1 :(得分:0)

这会对你有帮助,

        $.ajax({
            dataType: 'jsonp',
            url: "http://scoreboardwcf.sportal.com.au/scoreboard.svc/GetCalendarData?BaseURL=http://www.sportal.com.au/&Sport=All&CompetitionID=0&callback=?";,
            success: function () {alert('Success');},
            error: function (jqXHR, textStatus, errorThrown) {
                alert(textStatus);
                alert(errorThrown);
            },
        });

答案 2 :(得分:0)

如何使用$ .jsonp

执行http GET请求

示例来自stackoverflow关于执行除GET之外的http方法的问题

"jquery.jsonp.js" GET works. What about POST PUT DELETE OPTIONS?

$.jsonp({
    cache: false,
    url: 'http://www.mydomain.com/logicalurl/2/',
    callbackParameter: 'callback',
    timeout: 10000,
    success: function(json, textStatus, xOptions) {
        myglob = json;
        MyModulePatternObject.initNew(json);
    },
    error: function (xOptions, textStatus) {
        console.log("fail");
    }
});

myglob用于在Tools-&gt; Web Developer-&gt; Web控制台中调试时查看和操作json响应。也可以使用Firebug

MyModulePatternObject.initNew(json)只是在成功的jsonp请求之后调用的重命名方法。

cache: false,建议在生产代码上使用PageCache: true,。在开发应用程序时,请关闭缓存。