我有這個網址:https://cdn.static.wizzair.com/en-GB/TimeTableAjax?departureIATA=BUD&arrivalIATA=TLV&year=2016&month=6成功回調永遠不會調用的JSONP請求
返回我JSON。如果我使用瀏覽器訪問此URL,或者如果使用瀏覽器上的REST客戶端(DHC)發起請求,它可以正常工作!現在,對於運行在https上的快速服務器,我試圖使用jQuery工作,但沒有運氣。
不知何故錯誤回調總是在執行,即使我在網絡調試中看到請求很好並且看到了json響應!
我的代碼:
/// removed old code ///
$.ajax({
method: 'GET',
url: "https://cdn.static.wizzair.com/en-GB/TimeTableAjax?departureIATA=BUD&arrivalIATA=TLV&year=2016&month=6&callback=?",
dataType: "jsonp",
success: function() { console.log("success"); },
error: function(err) { ;console.log(err); }
});
** *編輯* **
讓我明白,這將無法正常工作的目標不支持JSONP。
它改變到正常GET請求意願得到一個錯誤,該信息:
XMLHttpRequest cannot load https://cdn.static.wizzair.com/en-GB/TimeTableAjax?departureIATA=BUD&arrivalIATA=TLV&year=2016&month=6 . The 'Access-Control-Allow-Origin' header has a value ' https://wizzair.com ' that is not equal to the supplied origin. Origin ' https://localhost:3000 ' is therefore not allowed access.
預計。但是,如何在瀏覽器和本地休息客戶端上運行?我究竟做錯了什麼?
謝謝!
'crossDomain:true,'對於(a)JSONP請求或(b)請求沒有影響,並且首先沒有指向同一個來源。 – Quentin
因爲他們不返回JSONP ...你不能通過添加它來使一個網站返回JSONP,他們需要支持它。 – epascarello
'contentType:'application/json',' - 您正在發出GET請求,因此沒有請求主體來描述內容類型。 – Quentin