现在,我将向您介绍如何解决axios跨域请求错误,以及如何解决axios跨域请求错误。 介绍实战事例。 请一起看。
responsetopreflightrequestdoesn ' tpassaccesscontrolcheck : no ' access-control-allow-origin ' headerispresentonthereqtheqion reforenotallowedaccess.theresponsehadhttpstatuscode 403
随着前端框架的发展,当前前端数据分离已成为一种趋势。 这意味着前端只需要在ajax上请求后端数据合成页,后端就可以提供数据接口并提供数据。 好处是,前端程序员不再需要在自己的本地构建Web服务器,前端也不再需要了解后端语法。 这样可以简化开发配置,也降低协作的难度。
常规的GET、POST、PUT和DELETE请求是简单的请求,但OPTIONS有点特别。 请先发送请求并询问服务器。 要么你帮我申请,要么我把数据发给你。 (这是完全根据自己的理解写的。 如果错了的话,请谅解。 请参考高兴的流沙大神原文。 )
在Vue的项目中,Http服务采用了Axios,但它采用了OPTIONS请求。
只在header中输入' Access-Control-Allow-Origin':*并不能解决问题。 错误如开头所示。
这里需要在后台请求选项进行附加处理。
本文以Spring MVC为例。
添加阻止程序类。 publicclassprocessinterceptorimplementshandlerinterceptor {
@Override
publicbooleanprehandle (httpservletrequesthttpservletrequest,httpservletresponsehttpservletresponse,Object o ) ) throwsexccexcccte
htpservletresponse.setheader (' access-control-allow-origin ',' * ' );
htpservletresponse.setheader (访问控制-全局-头)、内容类型、内容长度、授权
htpservletresponse.setheader (访问控制多种方法)、) PUT、POST、GET、DELETE、OPTIONS );
htpservletresponse.setheader (x-powered-by )、Jetty );
字符串方法=http servlet request.get method (;
if(method.equals(options ) ) }
htpservletresponse.set status (200;
返回假;
}
system.out.println(method );
返回真;
}
@Override
publicvoidposthandle (httpservletrequesthttpservletrequest,httpservletresponsehttpservletresponse,对象o,modelandviewmmer
}
@Override
publicvoidaftercompletion (httpservletrequesthttpservletrequest,httpservletresponsehtpservletresponse,Object o,exceptiopsere
}
}
要在Spring-mvx.xml中配置spring阻止程序:
这样,问题就解决了:
看了这篇报道的事例,我相信你掌握了方法。 更棒。 请关注php中文网的其他相关文章。
请阅读: