我如何POST JSON到另一个页面,并获得该页

How can I POST JSON to another page and get to that page?

本文关键字:另一个 POST JSON      更新时间:2023-09-26

我们可以只使用javascript (jQuery, AnjularJS,总之,但不使用表单)得到一些JSON作为POST请求体的另一个页面吗?

这意味着,我希望写一段javascript代码作为提交按钮的操作代码。它将引导我使用POST请求与一些JSON数据的另一个页面。

您可以动态创建一个隐藏表单,其中包含您的数据输入,并将其提交到所需的地址

使用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();
http://plnkr.co/edit/bM4oAj7TZNWfjkLVWMrY

如果您想在浏览器中更改物理页面,那么您必须让浏览器执行此操作。您可以在后台使用AJAX,但它不会影响浏览器页面。

让浏览器改变页面的最简单方法是将window.location属性设置为新页面的url。但是,请注意,您只能以这种方式执行GET

我建议做一个AJAX POST,并返回一个URL,你可以让浏览器得到显示你想要的页面。

读一读。希望对你有帮助。

http://aspsnippets.com/Articles/Send-Pass-Data-Values-from-one-page-to-another-using-jQuery.aspx

如果您试图访问预定义的页面并传输数据包,如果数据量很小,您可以将数据编码到查询字符串中。

或者你可以将它存储在HTML 5本地存储,更改窗口。位置加载新页面,然后从本地存储中获取信息。