首页 > 编程知识 正文

vue跨域请求报500错误,vue 跨域配置

时间:2023-05-05 21:24:13 阅读:25649 作者:3100

flask axios $http.post ()表单数据未到达后端-跨域、数据传输浏览器F12控制台报告错误

错误内容:

accesstoxmlhttprequestat http://www.Sina.com/from origin 3358 www.Sina.com/hasbeenblockedbycorspolicy 3360 no‘access-hors

present on the requested resource。

进一步确认错误,刷新页面并重新发送请求。 网络xhr头

谢谢你。 此链接解决了困扰我几天的前端axios开机自检请求flask后台界面提交表单,但报告了域间错误的问题! 后端app.js配置了跨域,前端vue.config.js也配置了跨域,原因:前后端传输方式不统一,是传统方式吗? 接下来,实际的post请求传递了json格式的参数,因此将后台参数的获取方法更改为page_num=int(request.JSON.get ),完成大工作! 感谢帮助我的同学。 谢谢同学找到这个博客。 感谢写博客的博主,聪明的鞋子们。

解决域间问题的后台app.js配置如下

#1.引线包from flask _ corsimportcorsapp=flask (_ name _ _ ) app.register_blueprint ) algorithm, url_prefix='/backend/abc ' ) app.config [ ' JSON _ as _ ascii ' ]=false # JSON ify返回的中文正常显示#2.在配置中,域间con supports_credentials=True ) #3.如何测试域间的成功@app.route('/',methods=['GET'] ) def ping_wsdwd ) 33665292;

请求从前台http://localhost:8080发出,通过node.js代理服务器转发到后台地址http://localhost:5000

//webpack-dev-server相关配置devServer: { open: false,//配置执行项目自动打开浏览器host: 'localhost ',//0.0.0.0 根据个人需要配置localhost port: 8080,//在前端配置运行端口配置https: false,true时为https安全通道,但如果以后未注册SSL,则会发出警告。 hotOnly: false //跨域配置:代理proxy:((/backend65: ) target :653358 localhost 33605000 )、//后台目标地址(协议域名端口号) ws: true,//如果此参数设置为secure: false,并且对于https接口,则此参数//域之间的https //在域之间请求类似path rewrite 3360 { ' ^/back end ' 3360 ' } efore 3360 app={ }//node的本地资源的express,` app `是express实例

' use strict '; 导入vue from ' vue '; 导入axios from ' axios '; axios.defaults.base URL=' http://localhost :5000/back end/ABC/' vue.prototype.$ http=axios////var instance/process.env.API URL|| ' '/time out :60 * 1000,/time out//with credentials 3360 true, //check cross-site access-control//headers ://token 3360 window.session storage.getitem (' token ',//contented ) //token back end : window.session storage.getitem () token ' leturl={ base URL : ' http://localhost :5000/back end 创建axios实例_ axios.interceptors.request.use (function (config )//dosomethingbeforerequestissentreturnconfig;function(error )//dosomethingwithrequesterrorreturnpromise.reject (error ); ); //addaresponseinterceptor _ axios.interceptors.response.use (function (response )//dosomethingwithresponsedata,) ); plugin.install=function(vue,options ) { Vue.axios=_axios; window.axios=_axios; object.define properties (vue.prototype,{ axios: { get ) { return _axios;$axios:{get(}{return_axios; (、)、); (; VUE.use(plugin )导出默认插件; 必须部署到前端main.js

import'./plugins/axios'o$o在这里,我不知道如何在封装的axioso$o中修复跨域浏览器以报告跨域错误! 看看哪里的问题呢? 打印表单,查看是否是表单问题。 如果表单中有数据,那就是数据传输的问题。 现在定位到错误。 如果表单中没有数据,请排除表单问题。

要解决数据传输问题,可以将请求参数连接到post请求的后台接口之后,并将表单数据传递到后端,但不能位于第二个参数的位置。 为什么这么说,是因为在后台获取参数是在使用获取吗? 的参数拼接方法,但前台post请求会传递json格式的数据,因此后台也必须以json格式获取

后台接口文件

导入json包,并将接口中的args替换为json

有几种域间的解决方法值得借鉴,但我已经晕了:

跨域解决方案

后端配置跨域

vue axios跨域前端解决方案

*vue axios可解决前后域之间的问题

访问控制允许身份凭证

$http.post ) )提交的数据无法在后台接收

*flask与vue合作获取前台参数

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。