2015-07-08 2 views
0

Я пытаюсь отправить сообщение на сервер, для auth Мне нужно включить X-CSRF-токен, который запрашивается отдельно (у меня нет контроля над этим).Restangular POST headers

В настоящее время у меня есть это:

Restangular.all('rest/band/node').post($scope.dataObject, {}, {}, {'X-CSRF-Token': $scope.apitoken}).then(function (res) { 
    console.log(res.data); 
}); 

Я в конечном итоге с разрешения запрещен, как заголовки терпят неудачу. Если я остановлю auth на сервере, он будет опубликован отлично. Аналогично, если я тестирую сообщение REST с правильным маркером заголовка, он отлично работает. Однако я не могу заставить работать на всех.

Любые идеи?

Спасибо!

+0

предоставьте полный код ошибки. Это отказ от авторизации или отказ CORS. –

+0

Это просто 403, отказано сервером. –

+0

и, на вашем сервере, что вызовет 403? не имея правильного токена csrf? –

ответ

0

Изменить вызов, чтобы соответствовать ниже:

Restangular.one('rest/band').post('node', $scope.dataObject, {}, {'X-CSRF-Token': $scope.apitoken}).then(function (res) { 
    console.log(res.data); 
}); 

по методу сбора (у вас есть дополнительный словарь есть):

Restangular.all('rest/band/node').post($scope.dataObject, {}, {'X-CSRF-Token': $scope.apitoken}).then(function (res) { 
    console.log(res.data); 
}); 

Restangular пост функциональность ОС в зависимости от методов сбора или элементов , Имена одинаковы и не зная, что вы публикуете, разница между .all и .one может быть значимой.

+0

Оказывается, проблема была на стороне сервера. Однако спасибо за правильный синтаксис! «Restangular.one» - это то, что я должен был использовать. –

+0

Рад, что я могу помочь – Incognos

Смежные вопросы