token获取不到,原来是数据格式的问题 要和后台的数据格式一致,$.ajax中contentType: “application/json” 的用法

不使用contentType: “application/json”则data可以是对象

$.ajax({url: actionurl,type:"POST",datType:"JSON",data: { id: nodeId },async: false,success: function () {}});

使用contentType: “application/json”则data只能是json字符串

$.ajax({url: actionurl,type:"POST",datType:"JSON",contentType:"application/json"data:"{'id': " + nodeId +"}",async: false,success: function () {}});

content-Type使用的注意事项如下:

关于content-Type,我一般习惯将其设为application/json。最近遇到好几个问题都是因此出现的,觉得有必要记一下。 
content-Type定义的是发送至服务器的数据类型,data-Type定义的是服务器返回的数据类型。 
如果不指定 ContentType,默认为text/html,表单数据默认为application/x-www-form-urlencoded。 
需要注意的是: 
如果使用的是get方式,那么以上三种都是可以的,因为get方式的参数是跟在url后边的,与Content-Type无关。 
但是,如果使用的是post方式,data数据是由from表单提交,此时就必须把content-Type设为application/x-www-form-urlencoded(也可以不指定content-Type),否则后台是无法接收到数据的。



代码一:function submit() { if (validform() == true) { $.ajax({ type : "POST", url : baseUrl + accountTableName + "/update", contentType : "application/json", data : JSON.stringify({id: updateId,username: $('#username').val()}), beforeSend : function(xhr) {//请求头部的token字符串,确保用户已经通过验证 xhr.setRequestHeader("token", window.sessionStorage .getItem('token')); }, success : function(res) { if (res.code == 0) { alert("修改成功");//请求成功 //使用JavaScript的sessionStorage对象来存储输入框的用户名 window.sessionStorage.setItem('username',$('#username').val()) window.location.reload(); } else if (res.code == 401) { <%@ include file="../../static/toLogin.jsp"%> } else { alert(res.msg) } }, }); } else { alert("表单未填完整或有错误"); } }与代码二:function getId() { var userName = window.sessionStorage.getItem('username') accountTableName = window.sessionStorage.getItem('accountTableName')//获取存储的用户名以及表名 $.ajax({ type : "GET", url : baseUrl + accountTableName + "/page", data : { username : userName }, beforeSend : function(xhr) { xhr.setRequestHeader("token", window.sessionStorage .getItem('token'));//请求token字段,验证身份 }, success : function(res) { if (res.code == 0) { updateId = res.data.list[0].id $('#username').val(res.data.list[0].username)//赋值 } else if (res.code == 401) { <%@ include file="../../static/toLogin.jsp"%> } else { alert(res.msg); } }, }); } 有什么区别
05-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值