Ajax редирект с использованием POST - PullRequest
2 голосов
/ 04 января 2011

Он видел много ответов о том, как перенаправить на другую страницу после успешного вызова Ajax, но все они используют метод GET. Вместо этого я хотел бы передать свои параметры на новую страницу, используя метод POST. Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 04 января 2011

Ну, я сталкивался с этой проблемой раньше, и кажется, что единственный способ сделать это (возможно, я ошибаюсь) - определить функцию обратного вызова AJAX success и перенаправить из этой функции обратного вызова.Если вы хотите, вы можете отправить сам URL перенаправления в ответе AJAX и прочитать URL перенаправления в функции обратного вызова.

1 голос
/ 04 января 2011

Вы не можете программно настроить браузер для выполнения POST-запроса, только XMLHTTPRequest.Лучшее, что вы можете сделать, это смоделировать его, создав новый элемент form с данными, которые вы хотите отправить, а затем вызвав submit:

var params = {name: 'lonesomeday', website: 'stackoverflow'};

var form = document.createElement('form');
form.action = 'http://example.com';
form.method = 'post';

for (var key in params) {
    if (params.hasOwnProperty(key) {
        var field = document.createElement('input');
        field.type = 'hidden';
        field.name = key;
        field.value = params[key]

        form.appendChild(field);
    }
}

document.body.appendChild(form);
form.submit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...