vue如何解決跨域

文章目錄

  • vue如何解決跨域
  • 1. 什么是跨域
  • 2. 如何解決
    • 2.1 CROS(Cross-Origin Resource Sharing,跨域資源共享)
    • 2.2 Proxy
      • 2.2.1 使用webpack proxy
      • 2.2.2 服務端代理轉發
      • 2.2.3 通過nginx實現代理

vue如何解決跨域

1. 什么是跨域

  • 跨域本質是瀏覽器的一種給予同源策略的安全手段,是瀏覽器最核心的安全功能
  • 所謂同源就是要protocol協議相同,host主機相同哥port端口相同
  • 反之就是非同源,也就是跨域
  • 跨域的結果就是瀏覽器拿不到數據

2. 如何解決

2.1 CROS(Cross-Origin Resource Sharing,跨域資源共享)

  • CROS是一個系統,他由一系列傳輸的HTTP頭組成,這些HTTP頭決定瀏覽器是否阻止前端JS代碼獲取跨域請求的響應
  • CROS實現起來非常方便,只需要增加一些HTTP頭,讓服務器能聲明允許的訪問來源,只要后端實現了CROS,就實現了跨域
  • 我們可以設置response的HTTP頭
// 設置允許的源(Origin),* 表示接受所有域的請求
response.setHeader("Access-Control-Allow-Origin", "*");
// 設置允許的HTTP方法(如GET, POST等)
response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
// 設置允許的頭部信息
response.setHeader("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With, remember-me");
// 預檢請求的緩存時間
response.setHeader("Access-Control-Max-Age", "3600");
// 是否支持憑證(cookies、HTTP認證等)
response.setHeader("Access-Control-Allow-Credentials", "true");

2.2 Proxy

2.2.1 使用webpack proxy

  • 就是找一個中間人作為代理,比如我們在使用webpack時,通過proxy實現代理
  • 具體看這篇文章
    一文大白話講清楚webpack進階——11——webpack proxy工作原理
  • 但是只限于開發環境,如果生產環境還不不同源,那還是存在跨域問題

2.2.2 服務端代理轉發

  • 以express為例,利用中間件,實現代理轉發
const express=require('express')
const proxy=require('http-proxy-middleware')
const app=express()
app.use('api/',proxy({target:'http://localhost:8080',changeOrigin:false
}))

2.2.3 通過nginx實現代理

server {listen 80;# server_name www.josephxia.com;location / {root /var/www/html;index index.html index.htm;try_files $uri $uri/ /index.html;}location /api {proxy_pass http://127.0.0.1:3000;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/68127.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/68127.shtml
英文地址,請注明出處:http://en.pswp.cn/web/68127.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

算法與數據結構(括號匹配問題)

思路 從題干可以看出,只要給出的括號對應關系正確,那么就可以返回true,否則返回false。這個題可以使用棧來解決 解題過程 首先從第一個字符開始遍歷,如果是括號的左邊(‘(‘,’[‘,’}‘&…

在linux 中搭建deepseek 做微調,硬件配置要求說明

搭建 可參考 使用deepseek-CSDN博客 官方網站:DeepSeek DeepSeek 是一個基于深度學習的開源項目,旨在通過深度學習技術來提升搜索引擎的準確性和效率。如果你想在 Linux 系統上搭建 DeepSeek,你可以遵循以下步驟。這里我將提供一個基本的指…

mounted鉤子函數里如何操作子組件的DOM?

在 Vue 的 mounted 鉤子函數中,操作子組件的 DOM 可以通過幾種方式實現,具體取決于對子組件的訪問方式。以下是一些常用的方法: 一、使用 ref 引用 定義 ref在父組件中,給子組件添加一個 ref 屬性,這樣就可以在父組件中通過 this.$refs 訪問到子組件的實例。 父組件示例…

vue2-為啥data屬性是一個函數而不是對象

vue2-為啥data屬性是一個函數而不是對象 1. data在vue實例和組件中的表現差異 vue實例的時候,data既可以是一個對象也可以是一個函數 new Vue({data:{//對象name:tom},data(){//函數return{name:tom}} })而在組件中定義data,只能是函數,如…

利用deepseek參與軟件測試 基本架構如何 又該在什么環節接入deepseek

利用DeepSeek參與軟件測試,可以考慮以下基本架構和接入環節: ### 基本架構 - **數據層** - **測試數據存儲**:用于存放各種測試數據,包括正常輸入數據、邊界值數據、異常數據等,這些數據可以作為DeepSeek的輸入&…

Word List 2

詞匯顏色標識解釋 詞匯表中的生詞 詞匯表中的詞組成的搭配、派生詞 例句中的生詞 我自己寫的生詞(用于區分易混淆的詞,無顏色標識) 不認識的單詞或句式 單詞的主要漢語意思 不太理解的句子語法和結構 Word List 2 英文音標中文regi…

樹欲靜而鳳不止

我不知道為什么要求一定要在抖音上舉辦婚禮?覺得唯一的一個作用,財力的體現。 做到了,就見了。讓我覺得就像買見面一樣。 見了不合適,該當如何? 這個對于認真找對象,真的很重要嗎? 分錢給平臺&…

kaggle比賽入門 - Spaceship Titanic (第一部分)

1. 導入packages import numpy as np import pandas as pd import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns sns.set(styledarkgrid, font_scale1.4) from imblearn.over_sampling import SMOTE import itertools import warnings warnings.filter…

java基礎2(黑馬)

一、變量里的數據在計算機中的存儲原理 1.二進制 .二進制:只有0、1, 按照逢二進一的方式表示數據。 十進制數字11轉換為:1011 方法:除二取余法 計算機中表示數據的最小單元,一個字節(Byte,簡…

【戒抖音系列】短視頻戒除-1-對推薦算法進行干擾

如今推薦算法已經滲透到人們生活的方方面面,尤其是抖音等短視頻核心就是推薦算法。 【短視頻的危害】 1> 會讓人變笨,慢慢讓人喪失注意力與專注力 2> 讓人喪失閱讀長文的能力 3> 讓人沉浸在一個又一個快感與嗨點當中。當我們刷短視頻時&#x…

docker安裝es及分詞器ik

系統是macos,docker是docker-desktop 拉取鏡像 docker pull bitnami/elasticsearch 啟動docker鏡像 docker create -e "discovery.typesingle-node" \ --name elasticsearch1 -p 9200:9200 -p 9300:9300 \ bitnami/elasticsearch:8.17.1 測試是否好…

CSS Position(定位)詳解及舉例說明

在CSS中,position屬性用于指定元素的定位類型。通過設置不同的position值,我們可以控制元素在頁面中的布局方式。position屬性有五個常用的值:static、relative、fixed、absolute和sticky。本文將詳細介紹這五種定位方式,并通過實…

AlwaysOn 可用性組副本所在服務器以及該副本上數據庫的各項狀態信息

目錄標題 語句代碼解釋:1. sys.dm_hadr_database_replica_states 視圖字段詳細解釋及官網鏈接官網鏈接字段解釋 2. sys.availability_replicas 視圖字段詳細解釋及官網鏈接官網鏈接字段解釋 查看視圖的創建語句方法一:使用 SQL Server Management Studio…

GPU-Z重磅更新,Blackwell架構全面支持

由TechPowerUp傾力打造的GPU-Z,是一款集顯卡信息查看、實時監控與深度診斷于一體的強大工具。它以其輕巧靈便的體積、完全免費的使用模式以及極其友好的操作界面,贏得了全球無數用戶的青睞與信任,成為PC硬件領域中不可或缺的軟件。 GPU-Z不僅…

c++11總結26——std::regex

std::regex 是 C11 引入的 正則表達式庫&#xff0c;用于 字符串匹配、搜索和替換。 &#x1f539; 頭文件&#xff1a;#include <regex> &#x1f539; 命名空間&#xff1a;std &#x1f539; 支持的匹配模式&#xff1a;ECMAScript&#xff08;默認&#xff09;、POS…

程序詩篇里的靈動筆觸:指針繪就數據的夢幻藍圖<6>

大家好啊&#xff0c;我是小象?(?ω?)? 我的博客&#xff1a;Xiao Xiangζ????? 很高興見到大家&#xff0c;希望能夠和大家一起交流學習&#xff0c;共同進步。 今天我們繼續來學習數組指針變量&#xff0c;二維數組傳參的本質&#xff0c;函數指針變量&#xff0c;…

MySQL時間類型相關總結(DATETIME, TIMESTAMP, DATE, TIME, YEAR)

MySQL時間類型相關總結(DATETIME, TIMESTAMP, DATE, TIME, YEAR) MySQL官方文檔&#xff1a; https://dev.mysql.com/doc/refman/8.0/en/date-and-time-types.html 一. 對比&#xff1a; 在 MySQL 中&#xff0c;處理時間相關的數據類型主要有以下幾種&#xff1a;DATE、TIME、…

前綴和練習——洛谷P8218:求區間和

題目: 這道題很簡單&#xff0c;直接根據題目無腦套公式 代碼&#xff1a; #include<bits/stdc.h> using namespace std; const int N 1e5 9; using ll long long; ll a[N], perfix[N]; int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);//取消同步輸…

【STM32】藍牙模塊數據包解析

使用到的藍牙模塊為DX-BT24&#xff0c;他可以將串口轉藍牙&#xff0c;實現與手機藍牙的通信&#xff0c;本次實現使用手機藍牙發送數據包來控制單片機LED的亮滅&#xff0c;規則如下&#xff1a; AA 05 01 FF AF 該數據包表示包頭為AA&#xff0c;05表示該數據包的大小&#…

NSS-DAY2

Crypto [HNCTF 2022 Week1]A dictator 題目&#xff1a; from random import randint from secret import flagoffset randint(1,100) % 26 # print(offset)assert flag.startswith(NSSCTF{) assert all([ord(c) not in range(ord(A),ord(Z)) for c in flag[7:-1]])for cha…