2014-09-01 118 views
0

我正在嘗試使用下面的代碼進行Ajax調用。相同的代碼適用於閃爍r api。但不知道爲什麼這不起作用,並返回此網址的任何結果。有人可以幫忙嗎?Ajax調用不返回任何數據

var URL2='https://www.ibm.com/gateway/?&cc=br&lc=pt&format=json&ts=1340215931434&type=getExpertProfile&userid=30469&cb=200:displayData';     



$.ajax({ 
    url: URL2, 
    // contentType: "application/json; charset=utf-8", 
    dataType: "jsonp", 
    jsonp: "callback", 
    jsonpCallback: "jsonpCallbackfunction", 
    success: function (data) { 
     console.log('on success!'); 
     console.log(data); 
    }, 
    error: function (xhr, ajaxOptions, thrownError) { 
     console.log('on error!'); 
     console.log("xhr.status: " + xhr.status); 
     console.log("xhr.statusText: " + xhr.statusText); 
     console.log("xhr.readyState: " + xhr.readyState); 
     console.log("textStatus: " + textStatus); 
     console.log("errorThrown: " + errorThrown); 
     console.log("xhr.redirect: " + xhr.redirect); 
    } 
}); 
+0

你正在做* POST *的權利?也許是由於使用'jsonp'... – 2014-09-01 20:31:28

+0

你有'url:'URL2''而不是'url:URL2' – Stryner 2014-09-01 20:33:49

回答

0

試試這個

$.ajax({ 
    url: 'URL2', 
    //contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    //jsonp: "callback", 
    //jsonpCallback: "jsonpCallbackfunction", 
    success: function (data) { 
     console.log('on success!'); 
     console.log(data); 
    }, 
    error: function (xhr, ajaxOptions, thrownError) { 
     console.log('on error!'); 
     console.log("xhr.status: " + xhr.status); 
     console.log("xhr.statusText: " + xhr.statusText); 
     console.log("xhr.readyState: " + xhr.readyState); 
     console.log("textStatus: " + textStatus); 
     console.log("errorThrown: " + errorThrown); 
     console.log("xhr.redirect: " + xhr.redirect); 
    } 
}); 
+0

試圖沒有任何東西正在返回 – user244394 2014-09-01 20:39:34

+0

如果你直接去url直接得到什麼? – kefy 2014-09-01 20:48:05

+0

你不能使用json跨域。 「jsonp」在這裏使用是正確的。 – Antiga 2014-09-01 20:48:40

0

您正在使用您的網址,而不是指向變量的字符串。在下面儘量少嘗試一下。

$.ajax({ 
    url: URL2, 
    dataType: "jsonp", 
    success: function (data) { 
     console.log('on success!'); 
     console.log(data); 
    }, 
    error: function (xhr, ajaxOptions, thrownError) { 
     console.log('error'); 
    } 
}); 

如果仍然失敗,您應該查看正在進行的網絡調用以及來自服務器的響應。 (在這種情況下,IBM)這裏的客戶端代碼很好,但它仍然依賴於在另一端正確設置的東西。它也依賴於你調用正確的URL。