POST请求到新的页面
来源:互联网 发布:php cgi.exe 命令行 编辑:程序博客网 时间:2024/06/06 16:43
1) 问题的提出
通过GET请求传递的参数有限,而且window.open(); 只适用于GET请求;如果通过POST请求传递参数,则需要自己封装函数来实现
2) 具体实现
⑴ 传递JSON
① 传递JSON,通过jQuery实现
/** * POST请求到新的窗口,传递JSON,通过jQuery实现 * * @param url 请求路径 * @param json JSON字符串 */ function postToNewTabWithJSONByjQuery(url, json) { var $form = $('<form action="' + url + '" method="POST" target="_blank" style="display:none;"></form>'); for (var param in json) { $form.append('<input type="hidden" name="' + param + '" value="' + json[param] + '" />'); } $("body").append($form); $form.submit(); $form.remove(); };
② 传递JSON,通过JavaScript实现
/** * POST请求到新的窗口,传递JSON,通过JavaScript实现 * * @param url 请求路径 * @param json JSON字符串 */ function postToNewTabWithJSONByJavaScript(url, json) { var form = document.createElement("form"); form.action = url; form.method = "POST"; form.target = "_blank"; form.style.display = "none"; var hidden; for (var param in json) { hidden = document.createElement("input"); hidden.type = "hidden" hidden.name = param; hidden.value = json[param]; form.appendChild(hidden); } document.body.appendChild(form); form.submit(); document.body.removeChild(form); };
⑵ 传递Array数组
① 传递Array数组,通过jQuery实现
/** * POST请求到新的窗口,传递Array数组,通过jQuery实现 * * @param url 请求路径 * @param array Array数组 */ function postToNewTabWithArrayByjQuery(url, array) { var $form = $('<form action="' + url + '" method="POST" target="_blank" style="display:none;"></form>'); for (var element in array) { for (var param in array[element]) { $form.append('<input type="hidden" name="' + param + '" value="' + array[element][param] + '" />'); } } $("body").append($form); $form.submit(); $form.remove(); };
② 传递Array数组,通过JavaScript实现
/** * POST请求到新的窗口,传递Array数组,通过JavaScript实现 * * @param url 请求路径 * @param array Array数组 */ function postToNewTabWithArrayByJavaScript(url, array) { var form = document.createElement("form"); form.action = url; form.method = "POST"; form.target = "_blank"; form.style.display = "none"; var hidden; for (var element in array) { for (var param in array[element]) { hidden = document.createElement("input"); hidden.type = "hidden" hidden.name = param; hidden.value = array[element][param]; form.appendChild(hidden); } } document.body.appendChild(form); form.submit(); document.body.removeChild(form); };
3) 使用示例
var url = "???"; var person = { "id": "1", "name": "张三", "age": 14 }; postToNewTabWithJSONByjQuery(url, person);
var url = "???"; var array = new Array(); var person1 = { "persons[0].id": "1", "persons[0].name": "张三", "persons[0].age": 14 }; var person2 = { "persons[1].id": "2", "persons[1].name": "李四", "persons[1].age": 12 }; array.push(person1); array.push(person2); postToNewTabWithArrayByJavaScript(url, array);
阅读全文
0 0
- POST请求到新的页面
- 客户端到服务器的post请求
- 发送post请求到https的url
- ajax 页面发送post请求
- 使用POST请求跳转页面
- Ajax post请求跳转页面
- 使用java程序模拟页面发送http的post请求
- 使用java程序模拟页面发送http的post请求
- java程序模拟页面发送http的post请求
- 使用java程序模拟页面发送http的post请求
- js跳转到新的页面打开
- php 发起 post http请求 ,并传body内容 到另一个php页面
- JSP页面 jquery发送post请求到 contrallor 接受JSON数据
- 关于JSP中动态包含请求无法显示页面的问题 post请求页面中包含get请求
- json对象 post到页面
- jQuery 获取页面上的id Ajax在页面上的Post请求
- 联通wap业务post数据到status页面的数据包
- ASP.Net中表单POST到其他页面的方法
- CSS实现背景图自适应屏幕分辨率宽高(笔记)
- 面向对象方法调用(基础练习)
- leetcode--递归、回溯和分治
- 受限玻尔兹曼机(RBM)
- OpenCart 2.x 伪静态
- POST请求到新的页面
- 实验七:将menu设计为可重用的子系统
- 欢迎使用CSDN-markdown编辑器
- 上传多张图片并压缩
- Java Notes: Synchronized的类锁和对象锁以及谈谈线性安全类
- C#之base和this关键字内部神秘面纱
- 异或进行最简单的加密
- Luogu P1331 海战
- When to use volatile with shared CUDA Memory