ajax post json数据字符被转义
来源:互联网 发布:一橙网络资费 编辑:程序博客网 时间:2024/04/27 20:10
这两天在做一个easyui datagrid 与服务器端数据交互时遇到了一个问题,
利用ajax上传json格式的数据,对于更改操作使用put方法,对于添加操作使用post方法,js代码如下:
onAfterEdit : function(rowIndex, rowData, changes) {obj.editRow = undefined;var type = "POST";var url = "/umgr/user";$("#save,#redo").hide();var deny = true;//下面可以处理要保存的数据,通过ajax与后台交互if(rowData.deny == 'false') {deny = false;}data = '{'+"username:'"+rowData.username+"',"+"password:'"+rowData.password+"',"+"deny:"+deny+","+"metadata:{}}";//data = "{'username':'1234','password':'123','deny':false,'metadata':{}}";if(!obj.addAction) {//更改操作type = "PUT";url = url+"/"+rowData.username;}else {obj.addAction = false;}$.ajax({ type: type, url: url, data: data,//此处data为上传的数据 dataType: "json", cache:false, success: function (msg) { console.log(data); if(msg.status==0) { $('#dg').datagrid('load');//删除后刷新 $('#dg').datagrid('unselectAll');//删除后原来选定的行仍处于选定状态 $.messager.show({//右下角显示删除结果提示 title:'提示', msg:'数据操作成功', }); } else if(msg.status==1) { $.messager.show({//右下角显示删除结果提示 title:'提示', msg:'数据操作失败', }); } }});
测试时当提交put请求时,没有任何问题,后台接收到的json数据正常,奇怪的事情发生在提交post请求,比如我在前端拼了一段json数据:
{username:'test',password:'test',deny:true,metadata:{}}
当用post请求时,后台接收到的内容为:
%7Busername%3A%27test%27%2Cpassword%3A%27test%27%2Cdeny%3Atrue%2Cmetadata%3A%7B%7D%7D=
仔细观察可发现冒号、单引号和大括号都被转码,后来在ajax中加入一段代码:
contentType: "application/json",
此时在进行测试,post发送请求,后台接收到的json格式正常了。
问题貌似解决了,但是为何put请求在没有设置contentType时能正常传输数据,post则不能呢?
有时间得研究下put和post的差异
-----------------------------------------无耻的分隔符-----------------------------------
简单来说put与post的差异就是:post是非幂等操作,put是幂等操作
0 0
- ajax post json数据字符被转义
- JSON数据入库时转义字符丢失
- Android json数据中有转义字符
- php post json数据遇“&”字符被截断的解决方案
- php post数据过程中的转义字符与urlencode编码
- jquery ajax post方法获取json数据
- 通过Ajax进行Post提交Json数据
- Ajax -- $.post() 方法解析 JSON 数据
- json 转义字符
- JSON数据中存在单个转义字符“\”的处理
- ExtJS加载不到JSON数据的问题(转义字符)
- php json中文字符转义
- JSON需要转义的字符
- ajax post json
- ajax post json
- 使用jquery ajax post json数据到jersey resource
- java 读取 ajax post 到后台的Json数据
- jquery ajax form serialize() 转json 数据,post 后台
- Python学习笔记(1)
- 文档显示部件,文档编辑部件获取标签的值
- docker安装-官网实例中文(centos7)
- Textview关键字高亮
- JAVA开发网站可以使用什么框架?
- ajax post json数据字符被转义
- 阅读Android源码的一些姿势
- Android样式之drawable
- hdu2089数位dp
- RAM
- MRTG--Quick HOWTO : Ch23 : Advanced MRTG for Linux/zh
- 各个浏览器的内核
- CodeForces 629 A. Far Relative’s Birthday Cake(水~)
- Android Theme.AppCompat.Light报错