vue跨域请求php文件,vue设置跨域请求

本文目录一览:

VUE本地跨域解决方案

        我们前端使用接口时,时常遇到跨域问题,一般都是后台设置开放访问权限解决跨域,如果后台不配合或者为了安全问题而不能开放权限,那么我们前端只能自己解决跨域问题了!!!直接再问vue中使用nodeJS进行代理就可以解决跨域问题。

1、首先找到项目所在的config文件下的index.js,打开此文件;

2、找到module.exports里面的dev模块,dev:{ proxyTable:{ } };

将target设置成你想跨域的域名,

changeOrigin设置成true(即:允许跨域);

pathRewrite设置新的路径,这个其实没有必要重新设置;

host设置成:localhost;

port设置成自己本地项目的端口号如:8001;

3、找到main.js并打开,添加:Vue.prototype.HOST = ‘/api’ //设置全局的请求域名;这样就可以全局使用了!

4、在请求接口的页面这样请求接口就可以啦:

var urls = this.HOST +’/login/get/dingdingUser’;//this.HOST就是你跨域的域名,这样就可以直接跨域了;这时urls就是你的接口名称啦!!!

vue跨域解决方法

vue跨域解决方法

使用axios请求

第一步骤

在vue.config.js 文件中 module.exports = { } 中添加

devServer: {

proxy: {

‘/profile’: { //指定 路径 要 跨域请求地址

// 在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题

// 将/api开头的url转发到target上。

target: ‘ ‘,// 跨域请求地址

changeOrigin: true, //虚拟的站点需要更管origin

ws: true, // 代理websockets

secure: true, // 如果是https接口,需要配置这个参数

pathRewrite: {

// 顾名思义,将/api重写为 / 此时url变为 而不是

‘^/profile’: ”

}

}

}

第二步骤

在封装axios请求中设置

const service = axios.create({

baseURL: ‘/profile’,//定义要跨域的接口路径

withCredentials: true,//是否支持跨域

timeout: 500000, // request timeout

headers: {

‘Cache-Control’: ‘no-cache’,

‘Content-Type’: ‘application/x-www-form-urlencoded’

}

});

Vue项目中跨域问题的解决

在Web端Vue项目开发过程中,跨域问题是不可避免的;在我参与的Vue项目中,使用服务器代理的解决方案;针对不同的环境(开发环境/生产环境),采用了不同的服务器代理方案;

服务器代理的原理大概是这样:

代理服务器和访问源(请求端)是同源的,但和被访问服务器(资源端)是不同源的,但服务器之间的访问不受浏览器同源策略的影响(即不必担心是否有跨域问题),那么我们即可请求到同源服务器上的从被访问服务器上的获取到的请求资源了 ;

这样配置完成后,我们发起的每次http请求的Request Url的前面一部分都会和我们本地的源一样;

举例:

我们项目跑在开发环境下的 上,那么上述请求的Request Url的就是 ;这应该就是我们的代理服务器中该资源的地址,与客户端同源;而数据的实际来源则是 ,这样即实现代理跨域;

目前猜测这个代理服务器可能是Node;

nginx 版本: 1.16.1

修改 nginx.conf 文件下的 serve 下配置:

举例:

生产环境下的,我们项目跑Nginx服务器监听的 上,那么上述请求的Request Url的就是 ;

这应该就是我们的代理服务器中该资源的地址,与客户端同源;

而数据的实际来源则是 ,这样即实现代理跨域;

thinkphp6 + nginx + antd Admin-Vue解决跨域

我服务端是PHP,请求地址为

location / {

if (!-e $request_filename){

rewrite ^(.*)$ /index.php?s=$1 last; break;

}

if ($request_method = ‘OPTIONS’) {

add_header Access-Control-Allow-Origin ‘ ‘ ;

add_header Access-Control-Allow-Credentials true;

add_header Access-Control-Allow-Headers ‘token,Authorization’;

add_header Content-Length 0;

return 204;

}

}

原创文章,作者:GCCU,如若转载,请注明出处:https://www.506064.com/n/135439.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
GCCUGCCU
上一篇 2024-10-04 00:12
下一篇 2024-10-04 00:12

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常问题的解决

    本文旨在解决vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常的问题,提供完整的代码示例供参考。 一、分析问题 首先,需了解vue中下载文件的情况。一般情况下,我们…

    编程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件并生成完整的图像

    OBJ格式是一种用于表示3D对象的标准格式,通常由一组顶点、面和纹理映射坐标组成。在本文中,我们将讨论如何将多个OBJ文件拼接在一起,生成一个完整的3D模型。 一、读取OBJ文件 …

    编程 2025-04-29
  • 为什么用cmd运行Java时需要在文件内打开cmd为中心

    在Java开发中,我们经常会使用cmd在命令行窗口运行程序。然而,有时候我们会发现,在运行Java程序时,需要在文件内打开cmd为中心,这让很多开发者感到疑惑,那么,为什么会出现这…

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • 使用Vue实现前端AES加密并输出为十六进制的方法

    在前端开发中,数据传输的安全性问题十分重要,其中一种保护数据安全的方式是加密。本文将会介绍如何使用Vue框架实现前端AES加密并将加密结果输出为十六进制。 一、AES加密介绍 AE…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • Python将矩阵存为CSV文件

    CSV文件是一种通用的文件格式,在统计学和计算机科学中非常常见,一些数据分析工具如Microsoft Excel,Google Sheets等都支持读取CSV文件。Python内置…

    编程 2025-04-29
  • Python zipfile解压文件乱码处理

    本文主要介绍如何在Python中使用zipfile进行文件解压的处理,同时详细讨论在解压文件时可能出现的乱码问题的各种解决办法。 一、zipfile解压文件乱码问题的根本原因 在P…

    编程 2025-04-29
  • Python如何导入py文件

    Python是一种开源的高级编程语言,因其易学易用和强大的生态系统而备受青睐。Python的import语句可以帮助用户将一个模块中的代码导入到另一个模块中,从而实现代码的重用。本…

    编程 2025-04-29

发表回复

登录后才能评论