在我的应用程序中,我需要将用户从一个页面重定向到另一个页面,并在这两个页面之间发送 POST json 数据。
POST 我需要,因为 json 数据真的很长,我不能把它放在 GET-param
REDIRECT(NB 不是 AJAX)我需要,因为在第二页用户获取文件,由服务器生成(他得到的 json 数据)。
我正在寻找关于 ExtJS 的解决方案,但如果没有明确的方法,它可能是简单的 JavaScript。
谢谢!
很抱歉发布了 necroposting,但我遇到了这个问题,我找到了这个页面。可能这会帮助某人。
您可以使用 JavaScript 创建表单,然后调用form.submit();
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", "http://target.com");
form.appendChild(this.createInput("name", "value")); // your params
document.body.appendChild(form);
form.submit();
和 createInput 函数:
createInput: function(name, value) {
var field = document.createElement("input");
field.setAttribute("name", name);
field.setAttribute("value", value);
field.setAttribute("type", "hidden");
return field;
}
这是您需要的代码:
Ext.Ajax.request({
url: 'YourUrl.php', // To Which url you wanna POST.
success : function() {
window.location = './account/login'; //the location you want your browser to be redirected.
},
params: { foo: 'bar' } // Put your json data here or just enter the JSON object you wannat post
});
使用 Ext.Ajax 发送数据的默认方法是 POST,您不需要将方法设置为 POST。
一旦数据成功提交到服务器,页面将自动重定向。