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

河南开元建设有限公司网站建设银行网站官方网站

河南开元建设有限公司网站,建设银行网站官方网站,外贸网站建设哪家公司好,建筑公司网站大全在 VUE 项目开发时#xff0c;遇到个问题#xff0c;正常设置使用 Axios 库请求数据时#xff0c;报错提示跨域问题。 那在生产坏境下#xff0c;该去怎么解决呢#xff1f; 其可以通过以下几种方式去尝试解决#xff1a; 1、设置允许跨域请求的响应头 1.1 在响应头中… 在 VUE 项目开发时遇到个问题正常设置使用 Axios 库请求数据时报错提示跨域问题。 那在生产坏境下该去怎么解决呢 其可以通过以下几种方式去尝试解决 1、设置允许跨域请求的响应头 1.1 在响应头中添加 Access-Control-Allow-Origin 字段将其值设置为允许跨域请求的源地址。 例如如果您的源地址是 http://localhost:8080则可以设置如下响应头 Access-Control-Allow-Origin: http://localhost:80801.2 下面是一个简单的示例展示如何在服务器端使用 Node.js 设置响应头。 const express require(express) const app express()// 设置允许跨域请求的响应头 app.use((req, res, next) {res.header(Access-Control-Allow-Origin, http://localhost:8080)next() })// 处理 GET 请求 app.get(/api/data, (req, res) {res.json({ message: Hello World! }) })// 启动服务器 app.listen(3000, () {console.log(Server started on port 3000) })在上面代码中使用 Express.js 创建简单的服务器允许跨域请求的地址是 http://localhost:8080。 在每个请求中都会在响应头中添加 Access-Control-Allow-Origin并将值设置为http://localhost:8080这样浏览器就不会阻止跨域请求的发送了。 1.3 VUE应用层使用 Axios 发送 GET 请求通过以下方式获取服务器返回的数据。 axios.get(http://localhost:3000/api/data).then(response {console.log(response.data.message)}).catch(error {console.error(error)})在上面代码中使用 Axios 发送 GET 请求到 http://localhost:3000/api/data获取服务器返回的数据并将返回的消息打印到控制台。 要注意在实际开发中为了应用的安全性尽量缩小允许跨域请求的源地址。 2、使用 proxy 代理。 2.1 在 VUE 的配置文件 config.js 中配置代理请求转发到目标服务器。 例如如果目标服务器地址是 http://api.example.com则可以在 vue.config.js 中添加配置 module.exports {devServer: {proxy: {/api: {target: http://api.example.com,changeOrigin: true}}} }在 VUE 发送请求时将会被代理到 http://api.example.com/api。 2.2 下面简单示例如何在 VUE 项目中使用代理。 2.2.1 安装 http-proxy-middleware 库 npm install http-proxy-middleware --save-dev2.2.2 配置代理 const proxyMiddleware require(http-proxy-middleware)module.exports {devServer: {before: function(app, server) {app.use(/api, proxyMiddleware({target: http://api.example.com,changeOrigin: true}))}} }配置文件中使用 http-proxy-middleware 创建代理并将其应用到所有路径以 /api 开发的请求中。 在配置中目标地址设置为 http://api.example.comchangOrigin 设置为 true,表示发送请求时将设置正确的 Origin 头部。 2.2.3 在 VUE 应用层中发送请求。 axios.get(/api/data).then(response {console.log(response.data)}).catch(error {console.error(error)})这里使用了相对路径 /api/data 发送了一个 GET 请求实际上该请求会被代理到 http://api.example.com/api/data 上。 通过这种方式我们可以使用 VUE 提供的代理功能将跨域请求转发到目标服务器从而避免跨域问题。 注意为确保代理功能正常工作需要将 VUE 应用层的开发服务器启动在和代理服务器相同的域名和端口下。 3、设置 withCredentials 来解决 VUE 中跨域请求问题。 3.1 让 Axios 在所有请求中携带凭证信息。 import axios from axios;axios.defaults.withCredentials true; // 设置 withCredentials 选项为 trueaxios.get(https://api.example.com/data).then(response {console.log(response.data);}).catch(error {console.error(error);});3.2 让 Axios 在单个请求中携带凭证信息。 axios.get(https://api.example.com/data, {withCredentials: true }).then(response {console.log(response.data);}).catch(error {console.error(error);});注意 当使用 withCredentials 时服务器端需要设置 Access-Control-Allow-Credentials 响应头为 true才能让浏览器接受带有凭证信息的跨域请求。 [1] 阅读原文 大家好我是 Just这里是[ 设计师工作日常 ]求点赞求关注
http://www.dnsts.com.cn/news/158992.html

相关文章:

  • 个人备案可以建企业网站吗上海服装外贸公司有哪些
  • 自适应网站建设极速建站wordpress大负载
  • 网站建设需解决问题阳谷网站建设公司
  • 网站建设网站备案所需资料电子商务运营是做什么的
  • 用flash做网站快速搭建网站工具
  • lwip在stm32上做网站litespeed wordpress
  • 网站建设价格套餐杭州滨江网站建设公司
  • WordPress网站转APP插件为企业做网站
  • 设计网站推荐按钮的作用酒店推广渠道有哪些
  • 站长之家htmlwordpress cdn加速
  • 分类信息网站怎么做流量网站建设与管理(第2版)
  • 网站优化入门dede手机网站制作
  • vps做网站的环境wordpress admin plugin
  • 网站排名做不上去如何上传自己做的网站
  • 电商设计一般都是做什么app关键词优化
  • 擅自使用他人产品做网站宣传仲恺住房和城乡建设局网站
  • 威海做网站asp.net mvc5 网站开发实践
  • .net 网站开发权限设计深圳龙岗好玩的地方
  • 妇科医院网站设计游戏优化大师手机版
  • 网站建设安全服务协议谷歌搜索引擎优化
  • 地方新闻门户网站源码flash制作网站教程
  • 做网站月收入多少深圳坪地网站建设 自助建站 五合一建站平台
  • 做网站的心得wordpress打开页面慢
  • 网站建设费是广告费吗青岛网页设计制作
  • 成都网站优化及推广百度平台订单查询
  • 网站建设招标 报告wordpress不能编辑文章
  • 程序员做网站wordpress 插件制作教程
  • 邀约网站怎么做请柬wordpress登陆密码
  • 广州 网站设计公司排名局域网搭建wordpress怎么访问不了
  • 南宁定制网站制作价格wordpress评论优化插件