axios请求成功而$.ajax却不行排错

简介: axios请求成功而$.ajax却不行排错

jQuery cdn

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>

Axios cdn

<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.js"></script>

附加 mui.js cdn

<script src="https://cdnjs.cloudflare.com/ajax/libs/mui/3.7.1/js/mui.min.js"></script>

axios

axios.post(
          url, {
            "serviceStation": "",
            'pageSize': "10000",
            "pageNumber": "1"
          })
        .then(function(res) {
          console.log(res.data);
        });

ajax

$.ajax({
        url: url,
        type: "post",
        data: {
          "serviceStation": "",
          'pageSize': "10000",
          "pageNumber": "1"
        },
        success: function(res) {
          console.log(res);
        }
      });


查看控制台结果:

axios正确返回数据

而ajax输出如下

找到发送的请求,查看各自的请求头

ajax发送的请求头:

axios的请求头

发现其不同之处,猜测就是这个影响了最终的结果.

所以ajax添加设置请求头

headers: {
    'Content-Type': 'application/json;charset=utf8'
},


运行测试

还是未能正确返回结果,发现已经有一处设置相同了.但是还是有一处未改变.

再分别查看两个的请求参数

ajax

axios

发现axios请求参数已转为json格式 , 而ajax请求的没有

所以 再添加一步,将ajax的参数使用 JSON.stringify 转化为 JSON字符串

data: JSON.stringify({
          "serviceStation": "",
          'pageSize': "10000",
          "pageNumber": "1"
        }),

运行测试

两次成功请求数据


查看请求头,发现Accept还是未统一,但都以 application/json 为最高优先级 , 并不影响.


Accept与Content-Type相关文章

HTTP协议的消息头:Content-Type和Accept的作用

http请求头中的Accept的用处和常用的值

HTTP报文头Accept和Content-Type总结

还有一个请求方式

mui.ajax(url, {
        headers: {
          'Content-Type': 'application/json;charset=utf8'
        },
        data: {
          "serviceStation": "",
          'pageSize': "10000",
          "pageNumber": "1"
        },
        type: 'post', //HTTP请求类型
        success: function(data) {
          console.log(data);
        }
      });

也是同样问题,需设置header才能正确返回,但是并不需要将参数转换为JSON字符串


不同:

那 $.ajax 只是普通的网络请求,mui.ajax 比 $.ajax 多了一个APP才有的原生APP的网络请求跟浏览…https://ask.dcloud.net.cn/question/62485

MUI官网

相关文章
|
1月前
|
API
使用axios发送请求的格式是什么?示例代码
使用axios发送请求的格式是什么?示例代码
16 0
|
4天前
|
XML 前端开发 JavaScript
JavaScript进阶 - AJAX请求与Fetch API
【7月更文挑战第3天】前端开发中的异步基石:AJAX与Fetch。AJAX,使用XMLHttpRequest,处理跨域、回调地狱和错误处理。Fetch,基于Promise,简化请求,但需注意默认无跨域头和HTTP错误处理。两者各有优劣,理解其问题与解决策略,能提升前端应用的性能和用户体验。
|
8天前
|
前端开发 开发工具 数据安全/隐私保护
大事件项目13----axios请求拦截器,统一携带token
大事件项目13----axios请求拦截器,统一携带token
|
6天前
|
XML 前端开发 JavaScript
JavaEE:http请求 | 过滤器 | 同步与异步请求 | 跨域问题 | axios框架 有这一篇就够!
JavaEE:http请求 | 过滤器 | 同步与异步请求 | 跨域问题 | axios框架 有这一篇就够!
|
11天前
|
前端开发 Python
Django框架中Ajax GET与POST请求的实战应用
Django框架中Ajax GET与POST请求的实战应用
|
1天前
|
NoSQL 前端开发 测试技术
若依修改,若依如何发送请求---王清江07,axios的请求在request.js文件中,若依发送GET请求,必须用param
若依修改,若依如何发送请求---王清江07,axios的请求在request.js文件中,若依发送GET请求,必须用param
|
2天前
|
JSON 数据格式
axios发送post请求,如何接受和返回一个axios的字段,解决bug的方法,困难的事情先从简单做起,先从发送一个axios的post请求做起,解决方法查别人的资料,查看F12看network就行
axios发送post请求,如何接受和返回一个axios的字段,解决bug的方法,困难的事情先从简单做起,先从发送一个axios的post请求做起,解决方法查别人的资料,查看F12看network就行
|
3天前
|
JavaScript
文本,前后端数据交互,简单请求,如何去给data数据赋值,在mounted()里赋值,利用axios发送的请求,res就是数据集,就是后端的数据,this.users = res.data.data
文本,前后端数据交互,简单请求,如何去给data数据赋值,在mounted()里赋值,利用axios发送的请求,res就是数据集,就是后端的数据,this.users = res.data.data
|
3天前
vue3 在 watchEffect 里中断未完成的 axios 请求(只保留最后一次请求的方法---连续点击查询按钮的优化)
vue3 在 watchEffect 里中断未完成的 axios 请求(只保留最后一次请求的方法---连续点击查询按钮的优化)
6 0
|
3天前
|
前端开发
网页设计,若依项目修改(It must be done)02------axios封装后发get请求,axios请求的位置在呢?
网页设计,若依项目修改(It must be done)02------axios封装后发get请求,axios请求的位置在呢?