Задать вопрос

Почему не работает post запрос?

Здравствуйте, никогда еще не работал с xml api и не могу понять в чем проблема,
Есть такая фабрика.
app.factory('sellerdata', ['$http',
	function ($http) {
		
		return $http({ 
			method: 'POST',
			url: 'http://shop.digiseller.ru/xml/test_shop_products.asp',
			headers: { "Content-Type": 'application/x-www-form-urlencoded' },
			params: { id_seller: '505197'}
			})
			.success(function (data) {
				return data;
			})
			.error(function (err) {
				return err;
			});
}]);


Получаю следующую ошибку
"XMLHttpRequest cannot load shop.digiseller.ru/xml/test_shop_products.asp?id_s.... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'localhost' is therefore not allowed access."
На сервере
У основных методов прописан заголовок "Access-Control-Allow-Origin", "*"
Пробовал через эмулятор запросов, все сработало, значит проблема в моем коде.
  • Вопрос задан
  • 441 просмотр
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Проблема в том, что ajax запрос нельзя отправить с одного домена на другой.
Это особенность работы браузеров. Если имеется возможность изменять скрипт, к которому обращаетесь, то нужно добавить заголовок в ответ:

Access-Control-Allow-Origin: mysite.com

Или отдать парсинг на сервер.
Ответ написан
Комментировать
Jeiwan
@Jeiwan
Проблема не в коде, а в том что на сервере запрещены кросс-доменные xhr-запросы. Погуглите ошибку и найдете решение.
habrahabr.ru/post/114432
slyweb.ru/jquery/cross-domain-ajax
enable-cors.org/server.html
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы