Vue中如何解决跨域问题

这篇具有很好参考价值的文章主要介绍了Vue中如何解决跨域问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 

跨域报错是前端开发中非常经典的一个错误,报错如下

 Access to XMLHttpRequest at '......' from origin 

 '......' has been blocked by CORS policy: 

 No 'Access-Control-Allow-Origin' header is present on the requested resource.

跨域错误源自于浏览器的同源策略,想要解决跨域首先要知道什么是同源策略?

 

一、同源策略?

同源策略:著名的安全策略,URL有三个基本组成部分:协议+域名或ip+端口,三个必须完全相同称之为同源,不同源的称之为跨域

 

URL 与 URL 对比:

http://localhost:3000/

https://localhost:3000/ 不同源:协议不同

http://localhost:3000/

http://127.0.0.1:3000/ 不同源:域名或ip不同

http://localhost:3000/

http://localhost:3001/ 不同源:端口不同

http://localhost:3000/

http://localhost:3000/ 同源

http://127.0.0.1:3000/

http://127.0.0.1:3000/ 同源

注意:同源策略不是服务器行为,而是浏览器的行为,服务器会正常响应请求,但是如果不同源会被浏览器拦截

 

搭建express服务器——演示

搭建一个express服务器用来演示跨域报错

安装express

 npm i express

 

在app.js文件中

 let express = require('express')

 let app = express()

 ​

 app.listen(3000, () => {

     console.log('服务器已启动..端口3000.')

 })

 ​

 app.use(express.static('./views'))

 ​

 app.get('/getTest', (req, res) => {

     console.log(req.query)

     res.send(req.query)

 })

 

在views/index.html文件中

 

 <!DOCTYPE html>

 <html>

 ​

 <head>

     <meta charset="UTF-8">

     <title>Document</title>

  文章来源地址https://www.toymoban.com/news/detail-401857.html

到了这里,关于Vue中如何解决跨域问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记:vite3+vue3+axios前端项目跨域问题解决【前端和服务器nginx配置】

    前言:什么是跨域,网上一搜一大把,所以这里直接跳过,直入主题。 处理方式:不通过后端处理跨域,通过前端+服务器nginx处理。 1.前端涉及处理跨域的必要配置(开发环境、生产环境):vite3、vue3、axios 2.服务器涉及处理跨域的配置(生产环境):nginx【主要用到其配置

    2024年02月01日
    浏览(57)
  • vue如何解决跨域的问题,有哪几种方式?

    在使用axios发送请求之后,没有得到返回的数据,打开控制台发现如下图所示的报错: 这是提示跨域了。所有使用JavaScript的浏览器都会支持同源策略。同源策略即指域名/协议/端口号相同。只要有一个不同,就会当作跨域请求。  解决方法为: 1. CORS 后端通过 CORS 解决跨域

    2024年02月08日
    浏览(69)
  • vite.config.js配置-解决跨域问题,以及@vitejs/plugin-vue等报错

    在配置的过程中踩了很多坑,还是太菜,有些东西弄不明白什么意思。 运行项目时的报错可直接到最下面看vite.config.js文件的注释 目前项目用到的模块并不多,package.json文件如下 其实主要还是这些模块的版本兼容问题 vite的版本最开始是1.0.0,后面很多地方搞不下去了才卸载

    2023年04月08日
    浏览(42)
  • vue调用腾讯地图API报错跨域问题解决Access to XMLHttpRequest at‘httplocalhost

    1.下载vue-jsonp解决跨域问题 2.在main.js中引用 3.调用腾讯地图API 4.获取本机IP

    2024年01月19日
    浏览(50)
  • umi 如何使用 proxy 代理解决 开发环境跨域 问题

    由于浏览器的同源策略限制,当一个请求 URL 的协议、域名、端口和当前页面 URL 任意一个不一致时都会出现跨域错误。 eg: 用 node run了一个 http://localhost:8080 的服务,在这个服务器下访问的网页也默认在 http://localhost:8080 这个域下面; 假设服务端所在的域是 http://example.com 这

    2024年02月09日
    浏览(39)
  • 1.vue3+vite开发中axios使用及跨域问题解决

    一、跨域问题解决  1.基于vite+vue3配置时,在vite.congig.js文件server项目中添加 proxy代理   文件名:vite.congig.js 2.axios封装时设置基本路径baseURL 二、provide/inject 实现axios 全区使用   在main.js中provide    app.provide(\\\'axios\\\', axios)   在组件内获取   import { inject } from \\\'vue\\\'   const axios = i

    2024年02月12日
    浏览(65)
  • 在uniapp Vue3版本中如何解决web/H5网页浏览器跨域的问题

    uniapp项目在浏览器运行,有可能调用某些接口会出现跨域问题,报错如下图所示: 存在跨域问题的原因是因为浏览器的同源策略,也就是说前端无法直接发起跨域请求。同源策略是一个基础的安全策略,但是这也会给uniapp/Vue开发者在部署时带来一定的麻烦。一般来说,浏览

    2024年01月21日
    浏览(54)
  • 前端跨域问题解决方法

    跨域是 WEB浏览器专有 的同源限制访问策略。(后台接口调用和postman等工具会出现) 跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资

    2024年02月13日
    浏览(43)
  • 前端面试:【跨域与安全】跨域问题及解决方案

    嗨,亲爱的Web开发者!在构建现代Web应用时,跨域问题和安全性一直是不可忽视的挑战之一。本文将深入探讨跨域问题的背景以及解决方案,以确保你的应用既安全又能与其他域名的资源进行互操作。 1. 什么是跨域问题? 跨域问题指的是在Web开发中,浏览器的同源策略(S

    2024年02月11日
    浏览(60)
  • 使用nginx解决跨域问题(前端解决)

    情况是这样的:编写好的前端页面本地打开是没有问题的,请求都能发出去,接收到正确的响应结果。但是,使用nginx来部署这个页面就会出现跨域问题。 跨域 :由于浏览器的同源策略,即属于不同域的页面之间不能相互访问各自的页面内容 注 :同源策略,单说来就是同协

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包