使用POST进行Ajax重定向

时间:2011-01-04 17:55:40

标签: ajax post redirect

在成功的Ajax调用之后,他已经看到了很多关于如何重定向到不同页面的答案,但是他们都使用了GET方法。 相反,我想使用POST方法将我的参数传递给新页面。 我该怎么办?

2 个答案:

答案 0 :(得分:2)

我以前遇到过这个问题,并且通过定义AJAX成功回调函数和从该回调函数重定向,似乎(可能我错了)的唯一方法。如果您愿意,可以在AJAX响应中发送重定向URL本身,并在回调函数中读取重定向URL。

答案 1 :(得分:1)

您无法以编程方式将浏览器设置为执行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();