Как принять междоменный POST через AJAX в приложении rails 3? - PullRequest
0 голосов
/ 08 марта 2011

Я не знаю, как написать свой контроллер, чтобы принять сообщение от другого домена и вернуть текстовую строку «ОК» в случае успеха?

Может кто-нибудь показать пример использования контроллера Rails 3 и jQuery, который существует в другом домене?

Спасибо!

$.ajax({
    url: "http://localhost:3000/lists",
    dataType: "jsonp",
    type: "POST",
    processData: false,
    contentType: "application/json",
    data: myData
});

Ответы [ 2 ]

0 голосов
/ 08 марта 2011

Я не уверен в части контроллера Rails конкретно, но это не должно иметь значения.Требуется ли отправка данных для отправки POST или вы можете использовать запрос GET?Я думаю, что междоменная проблема легче решается для последних.Я имел успех с кросс-браузерным POST, но Firefox обычно не перестает лаять об этом.

0 голосов
/ 08 марта 2011

В вашем Lists контроллере есть что-то вроде этого:

def index
   # do your stuff

   respond_to do |format|
      format.js { render :json => "OK".json }
   end
end

На самом деле вам не нужно возвращать "OK" из контроллера Rails.jQuery автоматически определяет, был ли запрос успешным, и вы можете делать все, что захотите, добавив success: some_function(data) к запросу AJAX.

Кроме того, вы можете посмотреть дополнительную информацию о возврате данных в формате JSON здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...