JQuery AJAX-запрос (Rails 3) перенаправляется и возвращает пустое тело сообщения (только с SSL)! - PullRequest
2 голосов
/ 15 июня 2010

Я пытаюсь выполнить ручной JQuery AJAX-запрос следующим образом:

$("#user_plan_id").change(function() {
    $("#plan_container").load('/plans/' + this.value);
});

У меня есть файл "rails.js", включенный в мой заголовок, и "<% = csrf_meta_tag%>".

Я вижу из своего журнала, что запрос поступает на сервер (хотя без маркера подлинности ... делает ли rails.js это?), Но ответом является 302 (найдено), а не 200, и нет данные фактически отображаются.

Есть идеи?

Редактировать: теперь я вижу, что первый запрос перенаправляет, и правильная часть обрабатывается при перенаправлении. Однако тело 2-го ответа (на стороне клиента) все еще пусто. Я предполагаю, что jQuery использует первый ответ и не имеет прослушивателя, настроенного для перенаправления. Как мне обойти это?

Также еще одно примечание: страница, выполняющая запрос, является страницей HTTPS.

Вот что говорит мой журнал:

Started GET "/plans/221168073" for 127.0.0.1 at Tue Jun 15 01:24:06 -0400 2010
  Processing by PlansController#show as HTML
  Parameters: {"id"=>"221168073"}
DEPRECATION WARNING: Using #request_uri is deprecated. Use fullpath instead. (called from ensure_proper_protocol at /Users/ernestsurudo/Sites/vidfolia/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb:57)
Redirected to http://vidfolia.com/plans/221168073
Completed 302 Found in 1ms

Оказывается, если я отключу требование SSL для этой страницы, это сработает! Я все еще не знаю почему, хотя. Итак, я предполагаю, что мой вопрос: что такое обходной путь?

1 Ответ

1 голос
/ 28 июля 2010

Вы случайно не устанавливали протокол: где-нибудь "http"?

...