我们是否只能使用javascript(jQuery
,AnjularJS
,无论如何,但不使用表单)来获取另一个带有一些JSON作为POST请求体的页面?
这意味着,我希望将一段javascript代码写为提交按钮的动作代码。它将引导我使用带有一些JSON数据的POST请求到另一个页面。
答案 0 :(得分:1)
您可以使用包含内部数据的输入动态创建隐藏表单,并将其提交到所需地址
使用jQuery的示例:
var url = 'index.html';
var data = {
a: 1,
b: { a: 1, b: 2},
c: [1, 2, 3]
};
function appendData($form, prefix, data) {
function append(k, data) {
if (prefix !== '') {
appendData($form, prefix + '[' + k + ']', data[k]);
} else {
appendData($form, k, data[k]);
}
}
if (data instanceof Object) {
if ($.isArray(data)) {
for (var i = 0, l = data.length; i < l; i++) {
append(i, data);
}
} else {
for (var k in data) {
append(k, data);
}
}
} else {
var inp = $('<input type="hidden" name="' + prefix + '">').val(data);
$form.append(inp);
}
}
var $form = $('<form style="display:none;" action="' + url + '" method="post"/>');
appendData($form, '', data);
$('body').append($form);
$form[0].submit();
答案 1 :(得分:0)
如果要在浏览器中更改phyiscal页面,则必须让浏览器执行此操作。您可以在后台安装AJAX,但这不会影响浏览器页面。
让浏览器更改页面的最简单方法是将window.location
属性设置为新页面的URL。但请注意,您只能以这种方式GET
。
我建议做一个AJAX POST,然后返回一个URL,你可以让borowser显示你想要的页面。
答案 2 :(得分:0)
请阅读此内容。希望它有所帮助...
http://aspsnippets.com/Articles/Send-Pass-Data-Values-from-one-page-to-another-using-jQuery.aspx
答案 3 :(得分:0)
如果您尝试访问预定义页面并传输数据包,则可以将数据编码到查询字符串中(如果它只是少量数据)。
或者,您可以将其与HTML 5本地存储一起存储,更改window.location以加载新页面,然后从本地存储中获取信息。