不使用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),否则后台是无法接收到数据的。