$.ajax中contentType属性为“application/json”和“application/x-www-form-urlencoded”的区别

说明:

application/json和application/x-www-form-urlencoded都是表单数据发送时的编码类型。

contentType:

发送信息至服务器时内容编码类型,简单说告诉服务器请求类型的数据

contentType的默认值为”application/x-www-form-urlencoded”

就是说,在发送到服务器之前,所有字符都会进行编码。

如果不设置contentType, data可以是对象 ,

dataType:

告诉服务器,我要想什么类型的数据,除了常见的json、XML,还可以指定 html、jsonp、script或者text

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

//不设置contentType
$.ajax({
   url: '/save',
   method: 'POST',
   data: data,
   dataType:"JSON",
   success: function(data) {
      alert(data)
   }
});

例如:

data为 {“text”:”hellow world! 你好,世界!”}

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

//设置contentType为json,编码格式为utf-8
$.ajax({
   url: '/save',
   method: 'POST',
   contentType: "application/json; charset=utf-8",
   dataType:"JSON",
   data: data,
   success: function(data) {
      alert(data)
   }
});

例如:

data为 ‘{“text”:”hellow world! 你好,世界!”}’

标签

发表评论

电子邮件地址不会被公开。 必填项已用*标注