我使用不同的服務器上的API,我有一個CORS錯誤,我認爲。奇怪的是,它首先沒有問題的工作,然後我得到這個錯誤信息沒有'訪問控制允許來源'標題出現在與json和jquery請求的資源錯誤
XMLHttpRequest cannot load http://www.thecocktaildb.com/api/json/v1/1/random.php? tagmode=any&type=POST&format=jsonp. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'myadress.com' is therefore not allowed acces
我加入crossDomain: "true"
和它的工作了一天。現在它不再工作,我已經搜索並嘗試了很多我找到的解決方案。但沒有任何工作。什麼是問題,我如何解決它?試過jsonp
而不是json
有沒有和& callback =?什麼也沒做。我甚至爲chrome安裝了CORS啓用擴展。但同樣的錯誤,我無法控制API本身或託管它的服務器。我怎樣才能解決這個問題?以下是我的代碼。
function random() {
$(document).ready(function() {
$.getJSON("http://www.thecocktaildb.com/api/json/v1/1/random.php", {
tagmode: "any",
type: "POST",
format: 'jsonp',
crossDomain: "true"
}, function (data) {
console.log(data);
var result = "";
$.each(data.drinks, function (index, value) {
result += "<p>" + value.idDrink + "<p>";
result += "<p>" + value.strDrink + "<p>";
});
$('#result').html(result);
console.log(result);
});
});
}
該網站沒有設置標題,所以沒有什麼可以從您的結尾做。 Severside代理是你需要的。 – epascarello
服務器不返回jsonp但是json。然後,您應該使用您自己的服務器來提供請求 –