Я использую угловой JS для отправки некоторых данных на сервер nodejs.
Когда я использую, локон, я получаю назад данные я отправляю (правильный результат):
curl -d '{"MyKey":"My Value"}' -H "Content-Type: application/json" 'http://127.0.0.1:3000/s?table=register_rings&uid=1'
> {"MyKey":"My Value"}
Однако, когда я использую angularjs службы, встретилась ошибка.
.factory('RegisterRingsService', function($http, $q) {
// send POST request with data and alert received
function send(data, uid) {
$http({
method: 'POST',
url: 'http://127.0.0.1:3000/s?table=register_rings&uid=1',
data: '{"MyKey":"My Value"}',
headers: { "Content-Type": "application/json", "Access-Control-Allow-Origin":"*"},
responseType: 'json'
}).success(function(data, status, headers, config) {
alert('success', data, status);
}).error(function(data, status, headers, config) {
alert('error' + JSON.stringify(data) + JSON.stringify(status));
}).catch(function(error){
alert('catch' + JSON.stringify(error));
});
}
return {send : send};
})
Ошибка заключается в следующем:
{"data":null,"status":0,"config":{"method":"POST","transformRequest":[null],"transformResponse":[null],"url":"http://127.0.0.1:3000/s?table=register_rings","data":"{\"MyKey\":\"My Value\"}","headers":{"Content-Type":"application/json","Access-Control-Allow-Origin":"*","Accept":"application/json, text/plain, */*"},"responseType":"json"},"statusText":""}
Я подозреваю, что я должен вставить заголовок CORS, но я не уверен, как это сделать.
Любая помощь будет оценена
Клиент не отправляет CORS заголовки, как это, сервер является тот, который отправляет обратно 'Access-Control-Allow -Origin: * ', чтобы браузер знал, что запрос разрешен. – mscdex