2016-11-11 3 views
0

Я пытаюсь отправить данные в веб-службу, но данные отсутствуют.

Вот код

 var product = { 
      CategoryID: 'test' 
     }; 

     $http({ 
      url: URL, 
      method: "POST", 
      data: product, 
      headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
     }) 
     .success(function(data,status,headers,config) { 
      console.log(data); 
     }) 
     .error(function(data,status,headers,config) { 
      console.log(data); 
     }); 

данные POST на сервере пуст.

У меня настроено Access-Control-Allow-Origin, Access-Control-Allow-MethodAccess-Control-Allow-Headers и Access-Control-Allow-Headers на сервере.

Этот API работает отлично при тестировании через Почтальон

+0

Ваш браузер отладчика, чтобы увидеть, что действительно отправлено, и сравнить его с тем, что отправлено с помощью Postman. Очевидно, что есть разница, но вы должны быть тем, кто ее находит. – Igor

+0

@Igor У меня и там нет разницы. У ионного приложения даже есть Content-Length, который не равен нулю. – SunMan

+0

Вы можете рассказать нам больше о том, как вы извлекаете данные на стороне сервера? – erwan

ответ

0

Для вашего вопроса попробуйте взглянуть на этом How do I POST urlencoded form data with $http in AngularJS? - Вы, вероятно, нужно, чтобы превратить ваш запрос, чтобы отправляемый в $http службы с требуемым типом контента.

+0

Спасибо, что помогли. – SunMan

+0

Мне пришлось изменить данные, данные: «CategoryID =» + encodeURLComponent (CategoryID), – SunMan