Проблемы с публикацией в Sinatra с помощью jQuery - PullRequest
4 голосов
/ 29 июля 2011

Я пытаюсь отправить POST запрос в мое приложение Sinatra, но у меня проблемы. По сути, у меня есть поле ввода, которое при отправке делает что-то подобное в JS:

$.post("/", { info: "some_info"});

что получает синатра, как это:

post '/' do
  data = JSON.parse(request.body.read)
end

Однако в терминале говорится:

JSON::ParserError - 706: unexpected token at '"info=some_info"':

Это означает, что он явно получает информацию на стороне сервера, но я не уверен, почему он выдает эту ошибку. Я никогда не использовал AJAX раньше. Я тоже не уверен, как только получу информацию, как мне извлечь из нее то, что мне нужно.

1 Ответ

4 голосов
/ 29 июля 2011

Когда вы отправляете запрос, он отправляется не как JSON, а как данные POST.Это означает, что вы будете иметь доступ к нему на стороне сервера, просто используя объект params.

post '/' do
  pp params # outputs {"info"=>"some_info"} in the console
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...