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
下一篇 2024-10-04

相关推荐

  • Linux防火墙放行端口详解

    一、Linux防火墙放行端口命令 在Linux中,可以使用iptables命令来设置防火墙规则以放行端口。以下是一些常用的iptables命令: # 显示防火墙规则列表 iptab…

    编程 2024-10-04
  • 怎么检测网站是asp还是php(asp判断用户是否在线)

    本文目录一览: 1、如何快速分辨出网页程序是php还是asp ? 2、如何判断网站是用asp还是php ,从网站地址上能看出来吗? 3、怎么知道一个网站是用asp还是php还是as…

  • js抢购代码,js 抢购

    本文目录一览: 1、JS 获得网页代码 2、JS 代码解释 3、求个简单javascript代码 谢谢,网站菜单功能 4、抢购页面的抢购软件是什么原理?那些JS写出来的按钮要怎么自…

    编程 2024-10-09
  • Python 匹配教程

    Python 是一种非常受欢迎的编程语言,一方面因为它易于学习,另一方面也因为它的灵活性和可扩展性,使得它成为了大多数程序员钟爱的语言之一。而在 Python 的各种应用场景中,匹…

    编程 2024-10-04
  • CSS元素选择器列表及使用场景

    一、什么是CSS元素选择器? CSS元素选择器是指对HTML元素标签进行样式匹配的选择器,简单来说就是匹配HTML中的标签名来选择元素。 在CSS中,最基本的选择器就是元素选择器,…

    编程 2024-10-04
  • WebSocket使用详解

    一、WebSocket使用教程PHP WebSocket是一种在单个TCP连接上进行全双工通信的协议。因为它是全双工的,所以客户端和服务器可以同时发送和接收数据。由于WebSock…

    编程 2024-10-04
  • Java中的Integer类

    一、Integer是什么 Integer是Java中的一个类,用于表示整型数值。它是int的包装类,也就是说用来将基础数据类型int转换成对象类型。 Java提供了八种基本数据类型…

    编程 2024-10-03
  • 测试单个php文件,php测试题目

    本文目录一览: 1、我是个新手,php源码怎么样在本机测试?,需要哪些工具呢?????? 2、用Dreamweaver写了一个PHP文件怎么测试 3、如何测试php是否安装成功 4…

    编程 2024-10-04
  • php面向对象mysql(PHP 对象)

    本文目录一览: 1、请问php如何面向对象操作mysql数据库呢? 2、php面向对象操作mysql。我需要修改什么地方? 3、请问如何用php面向对象操作mysql数据库? 4、…

    编程 2024-10-03
  • Java字符串去指定字符

    一、字符串的基本操作 字符串在Java中是一个常用的数据类型,它可以存储任意字符序列。字符串对象是final类型的,即它们的值无法更改一旦它们被创建。字符串对象可以通过操作符“+”…

    编程 2024-10-04

发表回复

登录后才能评论