2013-05-02 8 views
0

Я создал POST WebAPI, что я могу назвать следующие:WebAPI не работает в Скрипач

<script type="text/javascript"> 

var TheData = { 
    Number: "7181112222", 
    Username: "myusername", 
    Password: "mypassword", 
    enable: "True", 
}; 

$.ajax({ 
    type: "POST", 
    cache: "False", 
    url: "http://www.######.com/someapi/api/SettingsConfig", 
    data: TheData 
}).done(function (msg) { 
    alert(msg); 
}).error(function (msg) { 
    alert('Fail'); 
}); 

</script> 

я получаю предупреждение о «Успех», когда я запускаю этот код.

Когда я запускаю этот код в скрипаче ... yipes !!

POST http://www.######.com/someapi/api/SettingsConfig Number = 6464482035 & Имя пользователя = metheuser & Password = 9999 & включить = True

404 ошибка

Почему inconsistancy!

ответ

1

В фрагменте javascript вы размещаете объект JSON, в то время как в примере скрипача это строка x-www-form-urlencoded.

Вы пробовали в том числе Content-Type заголовка с вашим запросом:

  • application/x-www-form-urlencoded и размещение строки
  • application/json и размещение объекта JSON

Что метод подпись вашего контроллера выглядеть - вы ударите метод во втором примере вообще или это ошибка перед этим?

Что в действительности означает 404 в этом контексте - «номер» не найден/отправлен нет данных?

0

Там две возможные причины такого поведения:

  • Неправильное Content-Type, которые должны быть application/json установленное значение;
  • Не включен CORS в вашем API (в этом случае вам не разрешено вызывать API из ненадежных доменов);
Смежные вопросы