当前位置: 首页 > news >正文

网站建设的培训心得群推广

网站建设的培训心得,群推广,玉林市城乡建设委员会网站,深圳网站建设公利用vue的脚手架巧妙的解决ajax跨域的问题 1 我们首先利用springboot服务搭建 注意这里引出了跨域[CORS ]的问题: Access to XMLHttpRequest at http://localhost:5000/getUserInfo from origin http://localhost:8080 has been blocked by CORS policy: No Access-Control-A…

利用vue的脚手架巧妙的解决ajax跨域的问题

1 我们首先利用springboot服务搭建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意这里引出了跨域[CORS ]的问题:

Access to XMLHttpRequest at 'http://localhost:5000/getUserInfo' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

请求http的同源策略:1 2 3 点必须保持一致。

http://localhost:5000/getUserInfo
1、协议名 http
2、主机名 localhost
3、端口号 5000

违背了同源策略就会造成跨域问题。这里引出了配置代理的解决方案:

2 配置代理服务器 - 借助vue cli 开启代理服务器

Vue CLI官网—配置参考—devServer.proxy:配置参考 | Vue CLI
在这里插入图片描述
如何开启代理服务器?借助vue cli 开启代理服务器:

如果你的前端应用和后端 API 服务器没有运行在同一个主机上,你需要在开发环境下将 API 请求代理到 API 服务器。这个问题可以通过 vue.config.js 中的 devServer.proxy 选项来配置。
devServer.proxy 可以是一个指向开发环境 API 服务器的字符串:

module.exports = {devServer: {proxy: 'http://localhost:4000'}
}

这会告诉开发服务器将任何未知请求 (没有匹配到静态文件的请求) 代理到http://localhost:4000。
在这里插入图片描述
在这里插入图片描述
但是如果我们在public文件夹中存在数据的话:
在这里插入图片描述
在这里插入图片描述
有一个请求顺序的问题:先找自己public文件夹的资源,如果没有在去服务器中查询。public文件夹就相当于8080服务器的根路径。public文件夹里有的东西都算是8080中有的。

<template><btn/>
</template><script>
import Btn from "@/components/Btn";export default {name: 'App',components: {Btn}
}
</script><style>
</style>
<template><div><button @click="get">请求数据</button></div>
</template><script>
import axios from 'axios'export default {name: `Btn`,methods: {get() {axios.get('http://localhost:8080/hello.txt').then(response => {console.log(response.data)},error => {console.log(error.message)})}}
}
</script><style>
</style>
const {defineConfig} = require('@vue/cli-service')
module.exports = defineConfig({transpileDependencies: true,lintOnSave: false, // 关闭语法检查devServer: {proxy: 'http://localhost:5000'}
})

但是,以上方式不够灵活的控制走不走代理服务器,且不能够配置多个代理。基于此提出了如下解决方案:

在这里插入图片描述
在这里插入图片描述
如上问题,pathRewrite: {'^/inspur': ''},
在这里插入图片描述
在这里插入图片描述
改变来源请求的服务http:

changeOrigin: true
/*** changeOrigin设置为true时,服务器收到的请求头中的host为:localhost:5000* changeOrigin设置为false时,服务器收到的请求头中的host为:localhost:8080* changeOrigin默认值为true*/

在这里插入图片描述
1.优点:可以配置多个代理,且可以灵活的控制请求是否走代理。
2.缺点:配置略微繁琐,请求资源时必须加前缀。

const {defineConfig} = require('@vue/cli-service')
module.exports = defineConfig({transpileDependencies: true,lintOnSave: false, // 关闭语法检查devServer: {proxy: {'/inspur': { // 请求前缀,若想走代理就在http加一个 /apitarget: 'http://localhost:5000',pathRewrite: {'^/inspur': ''},ws: true, // 用于支持websocketchangeOrigin: true/*** changeOrigin设置为true时,服务器收到的请求头中的host为:localhost:5000* changeOrigin设置为false时,服务器收到的请求头中的host为:localhost:8080* changeOrigin默认值为true*/}}}
})
http://www.ritt.cn/news/11570.html

相关文章:

  • 郑州公司代办注册seo和sem的联系
  • 做地图分析的软件网站免费建网站
  • 西安网站 技术支持牛商网店铺推广方式有哪些
  • 广州宝安建网站网络平台销售
  • 比较大的建站公司全网营销骗局揭秘
  • 网站建设 人和商圈广州关于进一步优化疫情防控措施
  • 怎么做好网站方式推广站长seo
  • 宁夏建设职业技术学院网站宁德seo培训
  • 网页设计与网站开发体育热点新闻
  • 深圳做自适应网站公司网络广告投放公司
  • 做公益网站的原因怎么建立自己的网站
  • 做的最好的美女视频网站有哪些郑州seo顾问外包
  • 做手机网站价格挖掘爱站网
  • 用网站的源代码怎么做网站搜索风云榜入口
  • 自己建网站开网店网络营销的收获与体会
  • 台州哪里做网站企业网络推广技巧
  • 手机网站建设是什么成都网站建设公司排名
  • 网页设计与制作课程教学应用案例百度seo服务方案
  • 怎么利用招聘网站做薪酬调查网站搜索引擎优化工具
  • 做p2p网站 人员配置企业seo顾问服务阿亮
  • 外贸做网站用什么bt最佳磁力搜索引擎吧
  • 做ui的哪个威客网站比较好经营管理培训课程
  • 浦口区网站建设质量推荐互联网公司排名
  • 厦门外贸网站建设报价表seo教程网站优化
  • 外贸网站建设公司 迅当网沈阳网络seo公司
  • 网上停车场做施工图人员网站新东方在线教育平台官网
  • 学做衣服的网站有哪些网络营销相关的岗位有哪些
  • 建材网站素材国际新闻最新消息今天
  • 做网站一般用什么系统磁力最好用的搜索引擎
  • 如室设计网站郑州网站策划