判断方式一
浏览器,jquery、axios等js框架,发送请求时,会携带 accept 请求头,但该请求头的值是不同的
浏览器
浏览器发请求时,发送请求时,携带 accept 请求头的值包含 text/html,,如下:
jquery、axios
jquery、axios 等js框架,发送请求时,携带 accept 请求头的值包含 application/json,如下:
uni-app
携带 accept 请求头,其值包含 application/json
小程序
使用某些小程序发请求,一般会携带 accept 请求头,其值包含 application/json,具体看该小程序开发文档
跨域时
跨域时,有些小程序发请求,accept头的值是 */*,所以需要 指定accept头,否则无法判断
uni-app 携带 accept 请求头,但其值是 */*,需要指定该请求头
判断方式二
判断 x-requested-with 请求头
jquery
jquery 发送请求时,会携带 x-requested-with 请求头,其值是 XMLHttpRequest
axios
axios 发送请求时,默认不会携带 x-requested-with 请求头,所以需要指定携带该请求头,否则无法判断是否ajax
浏览器
浏览器 发送请求时,不会携带 x-requested-with 请求头
uni-app
不会携带 x-requested-with 请求头
小程序
使用某些小程序发请求,可能 需要指定 x-requested-with 头,具体看该小程序开发文档
跨域时
跨域时,服务器默认不允许携带该请求头,所以jquery不会发该请求头
需要 前端加该请求头,后端也需要允许跨域携带该请求头,否则无法携带


