我已經看到了幾個關於這個問題和答案,我的工作是一半。請求的資源上不存在「Access-Control-Allow-Origin」標頭。
我有一個node.js api服務器與url api.domain.com和網站上的一個nginx服務器在www.domain.com當我做下面的角度請求通過在api服務器上,我看到請求我看到它被解析並放入數據庫。但是,在客戶端,我不馬上得到回報,然後最終我會看到No 'Access-Control-Allow-Origin' header is present on the requested resource.
我知道是什麼導致了這種行爲,但是不應該在錯誤發生之前將錯誤拋出API服務器?另請注意,node.js服務器已啓用cors。應該返回的響應是json。
$http({
method: 'POST',
url: "http://api.domain.com/addtrans/" + $scope.accountID,
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, GET, OPTIONS, PUT',
'Content-Type': 'application/x-www-form-urlencoded'
},
transformRequest: function (obj) {
var str = [];
for (var p in obj)
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
return str.join("&");
},
data: {
payload: JSON.stringify(trans)
}
}).success(function (result) {
$scope.trans = {};
console.log(result);
});
您使用的快遞與節點? – Yaser
'Access-Control-Allow- *'是* response *頭,而不是請求頭。 –
是的,我使用快遞。 –