ajax enctype设置,form设置enctype属性为'application/json'不起作用
由于项目中需要向后台传复杂的json数据处理完然后跳转,大家的做法是用ajax提交数据然后在用location.href跳转,但是这样做需要写两个controller,正好今天百度看了可以设置form的enctype属性为'application/json'就可以发送json数据,下面是网上的事例:
// 生成的Json数据是
{
"pet": [
{
"species": "Dahut"
, "name": "Hypatia"
}
, {
"species": "Felis Stultus"
, "name": "Billie"
}
]
}
下面是我自己的代码实现将json转换为隐藏表单form表单提交:
function postForm(url, params) {
//使用递归遍历
function iter(inputName, obj, resMap) {
for (key in obj) {
if (obj[key] && typeof obj[key] === 'object') {
if (inputName) {
iter(inputName + "[" + key + "]", obj[key], resMap);
} else {
iter(key, obj[key], resMap);
}
} else {
resMap[inputName + "[" + key + "]"] = obj[key];
}
}
}
var temp = document.createElement("form");
temp.action = url;
temp.method = "post";
temp.style.display = "none";
temp.enctype = "application/json";
var resList = {};
iter('',params,resList);//遍历数据结构
for (key in resList) {
var hideInput = document.createElement("input");
hideInput.type = "hidden";
hideInput.name = key;
hideInput.value = resList[key];
temp.appendChild(hideInput);
}
document.body.appendChild(temp);
temp.submit();
}
测试数据
var dd = {
user:{
name:'小明',
id:34
},
project:[{
yuwen:{name:'语文',scre:444}},{shuxue:{name:'数学',scre:33}}
]
};
postForm('test',dd)
//生成的表单
生成的数据跟网上的一样,可以提交的时候浏览器显示
Content-Type:application/x-www-form-urlencoded,并且后台也没有取到理想的json数据
这是后台数据
有哪位大神知道怎么解决吗?求教
ajax enctype设置,form设置enctype属性为'application/json'不起作用相关推荐
- $.ajax的type属性,$.ajax中contentType属性为“application/json”和“application/x-www-form-urlencoded”的区别...
说明: application/json和application/x-www-form-urlencoded都是表单数据发送时的编码类型. contentType: 发送信息至服务器时内容编码类型,简 ...
- $.ajax中contentType属性为“application/json”和“application/x-www-form-urlencoded”的区别...
说明: application/json和application/x-www-form-urlencoded都是表单数据发送时的编码类型. contentType: 发送信息至服务器时内容编码类型,简 ...
- html form 无法指定 content-type 为 application/json
form enctype属性指定为application/json,最后还是会强制的设置为"Content-Type:application/x-www-form-urlencoded&q ...
- ajax_contenttype,$.ajax中contentType: “application/json” 的用法详解
具体内容如下所示: $.ajax({ type: httpmethod, cache:false, async:false, contenttype: "application/json; ...
- Flex设置form表单一些属性设置
设置form表单label左对齐 style: mx|FormItem {labelStyleName: customTextAlignLabel;}.customTextAlignLabel {te ...
- form 中Enctype=multipart/form-data 的作用
form 中Enctype=multipart/form-data 的作用 ENCTYPE="multipart/form-data"用于表单里有图片上传. <form na ...
- 当FORM的ENCTYPE=quot;multipart/form-dataquot; 时request.getParameter()获取不到
当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值. 解决方法: 提交普通表单时,在提交前: $(&q ...
- Tabcontrol动态添加TabPage(获取或设置当前选项卡及其属性)
http://blog.csdn.net/xiongxyt2/article/details/6920575 •MultiLine 属性用true 或false来确定是否可以多行显示 •Appear ...
- form的enctype和action
form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www ...
最新文章
- 拉杰尔安卓服务器注册上限,拉结尔多开养小号刷副本 用多多云手机离线能升级...
- 再述Spring AOP 应用场景
- 第六十二节,html分组元素
- 多线程 简单的实现案例
- [ckeditor系列]CKeditor自定义上传图片功能
- centos7执行 wget命令: command not found的两种解决方法
- *C#(WPF)--矩阵拖动和矩阵动画(拖动展开,不足动画效果)
- .ajax 上传图片,ajax图片上传并预览
- 《数据结构题集》2.12
- oracle客户端sqlplus镜像(可通过ssh客户端远程连接操作sqlplus命令)
- 学习笔记—前端移动端开发知识点总结
- spec之install
- 苹果待处理订单要多久_iPhone12被电商平台下来,原来苹果又要玩“套路”
- NXP i.MX 8处理器再扩军!全新i.MX 8X处理器剑指工业与汽车应用
- C# 连接数据库,查询数据
- Altium designer中蛇形线走法和操作说明
- 牛津花卉数据集(Oxford 17/Oxford 102)官网
- 你绝对没见过的船新版本,利用Python代码制作过年春联。
- 元件封装知识(转载)
- java中构造方法只能有一个_对Java中类的构造方法描述正确的是()A.如果在类中没有定义,Java就提供一个默认的构造方法B.只能...
热门文章
- iOS 高德地图怎么在屏幕内显示所有的Marker?
- 详细教你两台电脑之间传文件
- Java常用注解以及使用场景示例
- React Native不同设备分辨率适配和设计稿尺寸单位px的适配
- 4.gcc和arm-linux-gcc
- IDEA(jetbrain通用)优雅级使用教程
- 【转载】eMule电驴使用从入门到精通(5)-------emule菜单说明
- 10款优秀的在线格式转换工具
- java.lang.SecurityException: Prohibited package name: java.com.xx异常抛出
- [转载]泰森多边形(泰森图)