2012-08-04 69 views
1

有誰知道我該如何使用.jsonp jquery從URL中檢索數據?我寫了下面的代碼,但它似乎並沒有爲我工作:如何使用.jsonp jquery從url中檢索數據?

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

注:URL做工精細

+6

'$ .JSONP'?你是否發明過那個效用函數? – undefined 2012-08-04 03:06:08

+0

@Raminson https://github.com/jaubourg/jquery-jsonp/blob/master/README.md – 2012-08-04 04:19:33

回答

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

更新:由於您在評論中提問 - 我怎樣才能將它應用於循環?

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

+0

我無法讀取返回數據裏面的記錄:( – 2012-08-04 03:45:19

+0

[試試這個](http://jsfiddle.net/) heera/fk8jD/3 /) – 2012-08-04 03:46:03

+0

如何將它應用於循環而不是? – 2012-08-04 04:04:45

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); 
      }, 
     }); 
0

如何執行使用$ .jsonp

例HTTP GET請求來自計算器問題上執行HTTP方法除了GET

"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-> Web Developer-> Web Console中調試時查看和操作json響應。也使用Firebug

MyModulePatternObject.initNew(json)只是在成功的jsonp請求後調用的重命名方法。

cache: false,推薦使用PageCache: true,生產代碼。開發應用程序時關閉緩存。