Метод $http.jsonp, описанный в официальной документации, всегда выполняет запросы на получение: http://docs.angularjs.org/api/ng. $http # methods_jsonp.
Я попытался настроить параметр конфигурации на "POST", но он по-прежнему отправляет GET:
$http.jsonp('/api/new?callback=JSON_CALLBACK', {method: 'POST'});
Я также попытался установить аргумент данных в надежде, что angular переключится на POST:
$http.jsonp('/api/new?callback=JSON_CALLBACK', {data: {stuff: true}});
Но он все еще не делает:)
Что касается создания такой публикации:
$http.post('/api/new?callback=JSON_CALLBACK')
Он действительно делает POST, но не делает волшебную штуку angular с JSON_CALLBACK и производит следующую ошибку JS:
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://xxx.yyy.zzz' is therefore not allowed access.
(API не находится на том же сервере, что и приложение, это точка JSONP).
Google был самым бесполезным в этой проблеме, а чтение через angular источников - не самая простая задача. Итак, как я могу сделать запрос POST JSONP с помощью angular?