Я пытаюсь выполнить аутентификацию с помощью удаленного сервиса через jQuery. Во-первых, я подтверждаю, что могу сделать это за пределами браузера:Что случилось с моим запросом POST JQuery?
curl -X POST -H "Content-Type: application/json" -H "Accept: appliction/json" -d '{"username":"...","password":"..."}' http://example.com/auth
Это успешно возвращает токен.
Теперь попробуйте с JQuery:
$.ajax({
url: "http://example.com/auth",
type: "POST",
dataType: "json",
contentType: "json",
data: {username:"...",password:"..."},
error: function(data){alert(JSON.stringify(data))},
success: function(data){alert(JSON.stringify(data))}
});
я получаю ошибку сервера (500). Ясно, что я делаю что-то неправильно. Это мой первый попыток сделать POST в jQuery, поэтому я не знаю, как определить, в чем проблема. Что я здесь делаю неправильно?
P.S. Я могу успешно сделать запрос GET через JQuery, если у меня уже есть маркер:
$.ajax({
url: "http://example.com/stuff?token=f42652adcbfe3ed9d59fae62b5267b8d",
type: "GET",
dataType: "json",
error: function(data){alert(JSON.stringify(data))},
success: function(data){alert(JSON.stringify(data))}
});
почему бы вам не использовать $ .post функция? намного проще, и он использует AJAX :) –
Я действительно не думаю, что ошибка сервера (500) связана с вашим запросом ajax, это, вероятно, неверная конфигурация сервера. – ProGM
@ Zsigoveny: Это функционально эквивалентно этому. – David