Изменить URL при вызове AJAX - PullRequest
       5

Изменить URL при вызове AJAX

1 голос
/ 08 декабря 2011

Я создаю приложение для блога и хочу предоставить кнопку Сохранить, которая будет обновлять изменения в БД с помощью вызова Ajax. Это нормально, если я сохраняю ранее созданный блог, но у меня возникают проблемы при первом создании блога.

Проблема в том, что для любого нового блога у меня есть тот же URL, который

blogs/new/

Однако, но для редактирования или публикации уже созданных блогов у меня есть такой URL

blogs/1/my-first-blog/

Здесь 1 - идентификатор автора, а второе поле - значение параметра. Я использую эти значения, когда сохраняю эту форму с помощью кнопки «Опубликовать» или «Предварительный просмотр». То, что я хочу сделать, это как-то установить эти значения, когда я делаю вызов save AJAX. Так что, когда пользователь нажимает «Опубликовать», блог уже сохраняется в БД, и эти переменные отправляются в представление, и он может работать правильно.

Ответы [ 3 ]

2 голосов
/ 08 декабря 2011

Ну, чтобы изменить URL после завершения вызова AJAX, вы должны установить:

window.location = '/blogs/1/my-first-blog/';

Однако, возможно, AJAX - не лучший вариант для обработки этого запроса.Если вы просто собираетесь перенаправить на новую страницу после завершения запроса, почему вы используете AJAX?

Было бы более стандартной практикой отправлять форму без AJAX и отправлять заголовок перенаправления для новой страницы.если запрос успешен.

1 голос
/ 08 декабря 2011

Передайте идентификатор автора, значение slug и текст создаваемого блога в веб-службу или веб-метод, а также создайте папки и сохраните данные блога в службе.

Затем вы можетепросто отредактируйте строку, которую хотите передать window.location.

var id = "userid945";
var slugvalue = "foo";

var url = "/blogs/" + id + "/"+slugvalue+"-first-blog/

window.location = url;
0 голосов
/ 07 января 2019

Я хотел бы обновить эту информацию с тем фактом, что внешние интерфейсы решают эту проблему с маршрутизацией сейчас.VueJS является одним из примеров.https://router.vuejs.org/

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