Я пробую свои силы в ненавязчивом JS, используя JQuery в своем приложении Ruby On Rails.
После того, как пользователь заполняет форму, код JQuery на стороне клиента вызывает:
$.post("/premises", ui.form)
Я вижу, как POST достигает сервера, и я вижу, что сервер отправляет уведомление о перенаправлении на http://localhost:3000/users/42 вместе с данными для отображения.
Но страница браузера неменять.Это на самом деле меня не удивляет - весь смысл javascript на стороне клиента состоит в том, чтобы контролировать то, что обновляется - я понимаю это.Но в этом случае я хотел бы соблюдать все, с чем сервер отвечает.
Я попытался расширить вызов post () на основе Как управлять запросом на перенаправление после вызова jQuery Ajax :
$.post("/premises",
ui.item,
function(data, textStatus) {
if (data.redirect) {
// data.redirect contains the string URL to redirect to
window.location.href = data.redirect;
} else {
// data.form contains the HTML for the replacement form
$("#myform").replaceWith(data.form);
}
});
... но (среди прочих проблем) data.redirect не определен.Я подозреваю, что реальный ответ прост, верно?С нетерпением жду этого!