axios请求封装成ajax后调用ajax.get()请求会发送options请求并报错

axios请求封装成ajax后调用ajax.get()请求会发送options请求并报错

axios请求封装成ajax后调用ajax.get()请求会发送options请求并报错。

注释掉source和icode则又变回get请求不再报错。

有什么好的解决办法没有!为什么视频里老师的没有发送options请求。

export const ajax = axios.create({

  headers: {

    // source: 'h5',

    // icode: 'acbd',

    'Content-Type': 'application/x-www-form-urlencoded'

  },

  withCredentials: true

})

在这里输入代码,可通过选择【代码语言】突出显示

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学,你好。同学的报错是跨域的问题,若同学下图中的位置配置的是localhost则在访问时应使用http://localhost:8080/访问。

http://img1.sycdn.imooc.com//climg/5f9134d6093c7c6106990242.jpg

若上图中的值为127.0.0.1,则在访问时可以使用该地址访问

http://img1.sycdn.imooc.com//climg/5f91356f09cd08da11820390.jpg

好帮手慕美 2020-10-22 10:32:24

同学,你好。发送OPTIONS请求是浏览器对简单跨域请求和复杂跨域请求的处理区别。同学可以对比课程源码看下是否有写错的位置,运行源码是没有发送OPTIONS请求的。同学也可以将报错信息提供下,方便更好的为你解决。

  • 提问者 慕UI4461831 #1
    我用老师版本试过了也是发option请求。。。
    2020-10-22 14:43:56
南柯几梦 2020-10-21 21:44:11

option请求是预请求是正常,报错你要发出你的错误才能解决

  • 提问者 慕UI4461831 #1
    主要是看到老师课堂上的没有发option请求,想知道为啥。
    2020-10-22 14:43:33
  • 提问者 慕UI4461831 #2
    Failed to load http://localhost:8080/api/system/slider/list/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.1.104:8080' is therefore not allowed access.
    2020-10-22 14:54:45
  • 提问者 慕UI4461831 #3
    大概知道问题出在哪里了,主要是主页访问用http://127.0.0.1了。。。用这个就报错,localhost不报错。大神如果能给细讲下这两者的区别就好了。。
    2020-10-22 15:20:41
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师