0
Я создаю приложение rails с некоторым apis для мобильного приложения.Запрос POST для рубинга на сервере rails fail
Проблема в том, что все запросы POST не работают.
Вот как я их называю (из приложения PhoneGap):
72 $.ajax({
73 url: 'http://www.my-website.com:port/api/login',
74 type: 'POST',
75 dataType: 'json',
76 data:{"email":"my-email",
77 "password":"my-password"},
78 success: function(data){
79 alert(data);
80 },
81 error: function (event, jqXHR, ajaxSettings, thrownError) {
82 alert('[event:' + event + '], [jqXHR:' + jqXHR + '], [ajaxSettings:' + ajaxSettings + '], [thrownError:' + thrownError + '])');
83 }
84 });
Вот лог-сервер:
Started POST "/api/login" for xxx.xxx.xxx.xxx at 2015-04-03 10:58:51 +0000
Processing by ApiController#login as HTML
Parameters: {"email"=>"\"my-email.com\"", "password"=>"[FILTERED]"}
Completed 500 Internal Server Error in 2ms
JSON::ParserError (A JSON text must at least contain two octets!):
app/controllers/api_controller.rb:71:in `parse_request'
Вот где я получаю ошибку в контроллере API:
before_filter :parse_request
...
def parse_request
@json = JSON.parse(request.body.read)
end
Нет .. Проблема - это синтаксис **, который вы применили .. Напишите его 'data: {email:" my-email ", ..}' –
Идите прямо к примерам этой [этой ссылки ] (http://api.jquery.com/jquery.ajax/) .. и см. синтаксис типов данных 'JSON' .. –
Я пробовал без" ", но это не сработало. Странно, что если я отправлю запрос через плагин postman для chrome, я получу правильные данные! – ste