ajax中的参数dataType json和contentType applicationjson区别

ajax中的参数dataType: "json"和contentType: "application/json"区别

contentType:

发送信息至服务器时内容编码类型,简单说告诉服务器请求类型的数据
contentType的默认值为”application/x-www-form-urlencoded”
就是说,在发送到服务器之前,所有字符都会进行编码。
如果不设置contentType, data可以是对象 ,
————————————————
原文链接:https://blog.csdn.net/weixin_55560445/article/details/114420410

dataType:

告诉服务器,我想要什么类型的数据,除了常见的json、XML,还可以指定 html、jsonp、script或者text
$.ajax({
    type: "POST",
    url: ctx + "common/BatchTermsDownload",
    data: {
        "filePath": encodeURI(result.msg),
        "delete": true
    },
    //dataType: "json",
    contentType: "application/json",
    success: function (res) {
        console.log(res)
        $.modal.alertError(res.message)
    },
    error: function (res) {
        console.log(res)
    }
})

开始是只设置了contentType: “application/json”,然后到后端一直获取不到json数据对象,
1111

这个是后台的接口:
在这里插入图片描述
打断点然后请求过来获取的是空数据:
在这里插入图片描述
然后百思不得其解, 然后在一篇博客中得到启发,把contentType: “application/json”,换成dataType: “json”,
在这里插入图片描述

然后请求后端的接口有值了, nice
在这里插入图片描述
因为我没有设置contentType的值, 然后请求的时候使用的是默认的表单格式数据, 把我的数据格式化了,
在这里插入图片描述
思考: 为啥这种可以, 而我把参数设置成contentType: "application/json"却不行?

猜想: 我想应该是json数据的对象, 不能直接通过名字进行获取, 它的底层应该还需要把json数据转化为json对象, 通过json对象获取里面json数据(有可能数据有问题, 转化也会有问题, 或者后台接收的有问题)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值