js实现的模拟form提交数据
来源:互联网 发布:c语言中switch是什么 编辑:程序博客网 时间:2024/05/17 22:28
三月的最后一天,再来发篇博文,由于需要使用window.open的方式去访问URL,但是所需要传递的参数比较多,window.open默认使用的是get方式提交数据,这使开发很不爽。
在别人的指导下,在js中模拟form提交也是一个不错的想法,但是很尴尬,我用jQuery实现的form提交不能够请求到后台,以下是我写的代码,
var form = $('<form>'); form.attr("action",url); form.attr("target","_blank"); form.attr("method","post"); form.append('<input type="hidden" name="form.noteForm" value="'+data+'">'); form.submit();
然而却没什么卵用,请求不到后台,然后同事用原生js写的方法如下,
/** * 导出excel使用的post */post : function(URL, PARAMS) {var temp = document.createElement("form");temp.action = URL;temp.method = "post";temp.style.display = "none";if (PARAMS.length > 0) {for (var i = 0; i < PARAMS.length; i++) {var opt = document.createElement("textarea");opt.name = PARAMS[i].name;//防止IE浏览器将null 自动转换为"null" 导致错误if(PARAMS[i].value !== null){opt.value = PARAMS[i].value;}temp.appendChild(opt);}}document.body.appendChild(temp);temp.submit();return temp;}};
为了我自己使用方便,我修改成了如下,
post : function(URL, PARAMS) { var temp = document.createElement("form"); temp.action = URL; temp.method = "post"; temp.style.display = "none"; var hideInput = document.createElement("input"); hideInput.type="hidden"; //传入参数名,相当于get请求中的content= hideInput.name= "content"; //传入数据,只传递了一个参数内容,实际可传递多个。 hideInput.value= PARAMS; temp.appendChild(hideInput); document.body.appendChild(temp); temp.submit(); return temp; },
URL是所要请求的URL,params是所要传递的参数。
如果哪位大神看到知道原因的,请指教。。。。。
0 0
- js实现的模拟form提交数据
- js 模拟form 表单提交
- js模拟form表单提交
- 利用jquery.form.js的ajaxSubmit实现不跳转提交表单数据
- jquery.form.js实现将form提交转为ajax方式提交的方法
- JS模拟form表单提交,浏览器终止提交
- node.js实现提交简单的form表单
- js实现a标签超链接提交form表单的方法
- js实现a标签超链接提交form表单的方法
- JS的form表单提交
- <a> 采用JS 实现FORM提交
- HttpClient 模拟提交form
- 模拟form提交
- js将form表单提交数据封装为ajax提交
- C#模拟form表单提交数据,上传文件
- HttpClient:模拟表单提交文件,发送multipart/form-data数据
- js控制form提交的action
- js之form提交的简单方法
- 搭建maven项目中遇见的问题
- 每天一个Linux命令(9):touch命令
- jquery.validate不使用submit提交,而是使用button按钮提交,以及使用ajax验证用户名
- kafka减少分区的方法
- C++实现线程同步的几种方式
- js实现的模拟form提交数据
- 一个菜鸟程序员的进阶之路
- protoc 批量生成java代码
- 常用object和String类型的相互转换
- Android 5.0和6.0新增控件简单介绍
- springmvc教程--RESTful支持详解
- 每天一个Linux命令(10):cat命令
- GitHub 术语解释
- CodeForces