這是我的第一篇文章。ship.com後的API CORS JavaScript Ajax
我有用POST方法發送數據的問題。
控制檯顯示我: 「跨源請求被阻止:同源策略不允許在https://api.aftership.com/v4/trackings處讀取遠程資源(原因:缺少CORS頭'Access-Control-Allow-Origin')。」
我閱讀了CORS,但我仍然遇到同樣的問題。
這裏是我的代碼:
function track() {
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://api.aftership.com/v4/trackings/', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('aftership-api-key', 'key');
xhr.onload = function() {
if(xhr.status === 200) {
console.log(' works? : ' + xhr.responseText);
}
else {
console.log('DOESN NOT WORK!' + xhr.status);
}
}
xhr.send("tracking_number=number");
//xhr.send();
}
有時使用GET方法我可以創建跟蹤號碼,但它不長的工作方式。但是在創建它時,我可以在Google Chrome上使用CORS插件的DELETE方法。無插件我無法使用DELETE方法。
我想爲自己寫一個使用API接口的手機應用程序。
請幫忙! :D
我認爲這是使用中的Web瀏覽器模擬器phonegap-瀏覽器的限制約束了CORS。它不會是一個問題真正的移動設備。從我所知道的,在線建議的通常解決方案是配置你的服務器發送'Access-Control-Allow-Origin:*'。如果你不控制API服務器,顯然你不能這麼做,所以我不確定這個解決方案是什麼 –
代碼後面的段落有點不清楚 - 如果你有一個讓你的代碼工作的插件(這個插件?https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en),那很好。當您在瀏覽器中測試時,CORS只是一個真正的問題,因此您可以使用該插件繞過它進行測試。 –
是的,我使用這個插件,但POST方法仍然不起作用。 – ZenekPL