国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue(Vue Element Admin)+Apache+thinkphp6項(xiàng)目,解決跨域問(wèn)題;

這篇具有很好參考價(jià)值的文章主要介紹了Vue(Vue Element Admin)+Apache+thinkphp6項(xiàng)目,解決跨域問(wèn)題;。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Vue+Apache+PHP+docker跨域問(wèn)題解決方案

架構(gòu)說(shuō)明

前端:

vue2的框架,在github上找的。 Vue Element Admin框架。

后端:

thinkphp6框架

服務(wù)器

apache

頁(yè)面代碼展示

vue框架,本身封裝了axios請(qǐng)求,框架本身還自帶mock;

我直接在這個(gè)基礎(chǔ)上開(kāi)發(fā),寫(xiě)了1個(gè)demo.vue的頁(yè)面,對(duì)應(yīng)demo.js文件封裝api;

vue文件如下

<template>
<div>
    請(qǐng)求POST接口返回的結(jié)果是:{{ res.api1 }}
    </div>
</template>

<script>
    import { AddUserInfo } from '@/api/attendance_statistics'

    export default {
        data() {
            return {
                res: { api1: null }
            }
        },
        created() {
            this.fetchData()
        },
        methods: {
            fetchData() {
                const userInfo = {
                    name: 'John Doe',
                    name2: 'John Doe'
                }

                AddUserInfo(userInfo)
                    .then(response => {
                    console.log(response.data)
                    this.res.api1 = response
                })
                    .catch(error => {
                    console.log('error1111', error)
                })
            }
        }
    }
</script>

js文件如下

import apiClient from '@/utils/request'


export async function GetUserList() {
    // eslint-disable-next-line no-useless-catch
    try {
        const response = await apiClient.get('/demo/testApi')
        return response.data
    } catch (error) {
        throw error
    }
}

export async function AddUserInfo(userInfo) {
    // eslint-disable-next-line no-useless-catch
    try {
        const response = await apiClient.post('/demo/testAdd', JSON.stringify(userInfo))
        return response.data
    } catch (error) {
        throw error
    }
}

baseurl

通過(guò)閱讀自帶的請(qǐng)求類封裝的代碼發(fā)現(xiàn),baseurl是VUE_APP_BASE_API控制的。于是就找到.env.development文件

修改baseurl

# just a flag
ENV = 'development'

# base api,真實(shí)騰訊云服務(wù)器綁定的域名。
VUE_APP_BASE_API = 'http://pmadmin.xxxx.icu/'

發(fā)送請(qǐng)求

我在vue頁(yè)面刷新,生命周期會(huì) 自動(dòng)發(fā)送api,果然就報(bào)錯(cuò)了。弄了大半天,還找了淘寶的技術(shù)員,沒(méi)搞定,控制臺(tái)一直報(bào)錯(cuò)說(shuō)跨域問(wèn)題。

干脆復(fù)制錯(cuò)誤去百度

解決步驟

說(shuō)服務(wù)器端Header always set Access-Control-Allow-Origin設(shè)置錯(cuò)誤,我改成了

Header always set Access-Control-Allow-Origin "*"

我在請(qǐng)求攔截器里設(shè)置的是token, config.headers[‘Token’] 。

// request interceptor
service.interceptors.request.use(
    config => {
        // do something before request is sent

        if (store.getters.token) {
            // let each request carry token
            // ['X-Token'] is a custom headers key
            // please modify it according to the actual situation
            config.headers['Token'] = getToken()
        }

        return config
    },
    error => {
        // do something with request error
        console.log(error) // for debug
        return Promise.reject(error)
    }
)

控制臺(tái)報(bào)錯(cuò)說(shuō)我Token頭信息不被服務(wù)器接納。那服務(wù)器再設(shè)置

Header always set Access-Control-Allow-Headers "Content-Type,token"

完整解決方案

后端站點(diǎn)的conf文件內(nèi)配置跨域

<VirtualHost *:80>
    ServerName pmadmin.xxxxxxx.icu
    DocumentRoot /usr/local/apache2/wwwv2/pm-admin/public

    # 添加跨域配置
    Header always set Access-Control-Allow-Origin "*"
    Header always set Access-Control-Allow-Methods "GET, POST, OPTIONS"
    Header always set Access-Control-Allow-Headers "Content-Type,token"

    <Directory /usr/local/apache2/wwwv2/pm-admin/public>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
        DirectoryIndex index.php
    </Directory>
    ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://dnmp_php74:9000/usr/local/apache2/wwwv2/pm-admin/public/$1
    ProxyPassReverse / fcgi://dnmp_php74:9000/usr/local/apache2/wwwv2/pm-admin/public/
</VirtualHost>

總結(jié)

就算是控制臺(tái)報(bào)了跨域錯(cuò)誤,也要分析具體錯(cuò)誤是什么原因?qū)е碌?。不同的跨域錯(cuò)誤,有不同的解決方案;

  • 來(lái)源地址不被接受
  • 請(qǐng)求頭內(nèi)的參數(shù)不被接受

歡迎補(bǔ)充!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-482926.html

到了這里,關(guān)于Vue(Vue Element Admin)+Apache+thinkphp6項(xiàng)目,解決跨域問(wèn)題;的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Thinkphp6項(xiàng)目在虛擬機(jī)無(wú)法指向pulic的目錄訪問(wèn)的方法

    Thinkphp6項(xiàng)目在虛擬機(jī)無(wú)法指向pulic的目錄訪問(wèn)的方法

    以阿里云虛擬主機(jī)為例,服務(wù)器環(huán)境為 LAMP,Apache2.4 + php7.2 + mysql5.7 1.根目錄新建 index.php 文件,將以下內(nèi)容放入文件中 2.將 public 目錄下的 admin.php、backend 文件夾、static 文件夾、tinymce 文件夾移動(dòng)至根目錄,移動(dòng)好之后如下圖所示? 3.根目錄新建.htaccess 文件,將以下內(nèi)容放入

    2024年02月06日
    瀏覽(11)
  • 基于ThinkPHP6.0+Vue+MySQL的單商戶SaaS商城系統(tǒng)

    基于ThinkPHP6.0+Vue+MySQL的單商戶SaaS商城系統(tǒng)

    單商戶SaaS商城系統(tǒng)是一種面向單個(gè)商戶的軟件即服務(wù)(SaaS)解決方案,用于構(gòu)建和管理商戶的網(wǎng)上商城。它提供一個(gè)完整的商城平臺(tái),可以幫助商戶構(gòu)建、管理和優(yōu)化在線商城,并通過(guò)強(qiáng)大的數(shù)據(jù)分析功能,使商戶可以更好地了解客戶行為,從而提高銷售效率。單商戶SaaS商

    2024年02月13日
    瀏覽(17)
  • 虛擬機(jī)Ubuntu下運(yùn)行vue-element-admin項(xiàng)目

    虛擬機(jī)Ubuntu下運(yùn)行vue-element-admin項(xiàng)目

    首先附上vue-element-admin項(xiàng)目的相關(guān)介紹鏈接 介紹 | vue-element-admin (gitee.io) 一.環(huán)境搭建 1.安裝nodejs 安裝完成后,查看對(duì)應(yīng)的版本號(hào) 沒(méi)有問(wèn)題,會(huì)輸出對(duì)應(yīng)版本號(hào),我這里是10.19.0 2.安裝npm 安裝完成查看對(duì)應(yīng)的版本號(hào),確認(rèn)OK 我這里是版本是6.14.4 3.安裝Vue 同樣查看一下版本號(hào)確

    2024年02月07日
    瀏覽(21)
  • Vue-Element-Admin項(xiàng)目學(xué)習(xí)筆記(6)Vuex狀態(tài)管理

    Vue-Element-Admin項(xiàng)目學(xué)習(xí)筆記(6)Vuex狀態(tài)管理

    前情回顧: vue-element-admin項(xiàng)目學(xué)習(xí)筆記(1)安裝、配置、啟動(dòng)項(xiàng)目 vue-element-admin項(xiàng)目學(xué)習(xí)筆記(2)main.js 文件分析 vue-element-admin項(xiàng)目學(xué)習(xí)筆記(3)路由分析一:靜態(tài)路由 vue-element-admin項(xiàng)目學(xué)習(xí)筆記(4)路由分析二:動(dòng)態(tài)路由及permission.js vue-element-admin項(xiàng)目學(xué)習(xí)筆記(5)路由分析

    2024年02月09日
    瀏覽(30)
  • vue-element-admin - 超詳細(xì)克隆并運(yùn)行項(xiàng)目教程,完美解決 git clone 克隆項(xiàng)目失敗、npm install 裝包報(bào)錯(cuò)失敗、項(xiàng)目運(yùn)行后打開(kāi)是英文的漢化等問(wèn)題(新手小白一看就懂)

    vue-element-admin - 超詳細(xì)克隆并運(yùn)行項(xiàng)目教程,完美解決 git clone 克隆項(xiàng)目失敗、npm install 裝包報(bào)錯(cuò)失敗、項(xiàng)目運(yùn)行后打開(kāi)是英文的漢化等問(wèn)題(新手小白一看就懂)

    網(wǎng)上的教程都太亂了,大部分最終都無(wú)法成功克隆項(xiàng)目并運(yùn)行起來(lái)。 本文站在 新手小白的角度,從 0-1 克隆項(xiàng)目(完美解決了克隆失敗的問(wèn)題)、npm install 裝包并配置運(yùn)行起來(lái),以及界面是英文的漢化等一系列的問(wèn)題, 您可以按照本文的教程,輕松完成 vue-element-admin 該框架

    2024年02月09日
    瀏覽(124)
  • Vue-element-admin項(xiàng)目中完全移除ES lint

    由于不需要用到eslint,因此需要完全移除此插件,過(guò)程如下: 在項(xiàng)目根目錄下,執(zhí)行以下命令,卸載與 ESLint 相關(guān)的依賴包: npm uninstall @vue/cli-plugin-eslint lint-staged husky eslint babel-eslint eslint-config-standard eslint-friendly-formatter eslint-loader eslint-plugin-html eslint-plugin-promise eslint-plugin-s

    2024年02月07日
    瀏覽(32)
  • 基于ThinkPHP6.0+Vue+uni-app的多商戶商城系統(tǒng)好用嗎?

    基于ThinkPHP6.0+Vue+uni-app的多商戶商城系統(tǒng)好用嗎?

    likeshop多商戶商城系統(tǒng)適用于B2B2C、多商戶、商家入駐、平臺(tái)商城場(chǎng)景。完美契合平臺(tái)+自營(yíng)+聯(lián)營(yíng)+加盟等多種經(jīng)營(yíng)方式使用,系統(tǒng)擁有豐富的營(yíng)銷玩法,強(qiáng)大的分銷能力,支持官方旗艦店,商家入駐,平臺(tái)抽傭+商家獨(dú)立結(jié)算,統(tǒng)一下單+訂單拆分。無(wú)論是運(yùn)營(yíng)還是二開(kāi)都是性價(jià)

    2024年02月07日
    瀏覽(87)
  • thinkphp6中使用session設(shè)置無(wú)效問(wèn)題的解決及注意事項(xiàng)

    thinkphp6中使用session設(shè)置無(wú)效問(wèn)題的解決及注意事項(xiàng)

    就如thinkphp官方在文檔開(kāi)頭所描述的一樣,ThinkPHP6.0基于精簡(jiǎn)核心和統(tǒng)一用法兩大原則在5.1的基礎(chǔ)上對(duì)底層架構(gòu)做了進(jìn)一步的優(yōu)化改進(jìn),并更加規(guī)范化;其實(shí)從5.x版本開(kāi)始thinkphp本身就是為api應(yīng)用而生。特別是在6.0版本開(kāi)始框架默認(rèn)壓根不開(kāi)啟和提供模板引擎,需要下載安裝模

    2024年02月05日
    瀏覽(21)
  • Vue-Element-Admin項(xiàng)目學(xué)習(xí)筆記(9)表單組件封裝,父子組件雙向通信

    Vue-Element-Admin項(xiàng)目學(xué)習(xí)筆記(9)表單組件封裝,父子組件雙向通信

    前情回顧: vue-element-admin項(xiàng)目學(xué)習(xí)筆記(1)安裝、配置、啟動(dòng)項(xiàng)目 vue-element-admin項(xiàng)目學(xué)習(xí)筆記(2)main.js 文件分析 vue-element-admin項(xiàng)目學(xué)習(xí)筆記(3)路由分析一:靜態(tài)路由 vue-element-admin項(xiàng)目學(xué)習(xí)筆記(4)路由分析二:動(dòng)態(tài)路由及permission.js vue-element-admin項(xiàng)目學(xué)習(xí)筆記(5)路由分析

    2024年02月11日
    瀏覽(30)
  • 【vue-element-admin】github高質(zhì)量vue項(xiàng)目解讀,小白都能看懂(第三篇)

    【vue-element-admin】github高質(zhì)量vue項(xiàng)目解讀,小白都能看懂(第三篇)

    日月幾何,天地玄黃,今日奇觀,書(shū)接上一回。 這次我們來(lái)講 panel-group / 組件 因?yàn)楸疚氖歉?xiàng)目來(lái)的,所以不從第一篇看起的小伙伴云里霧里,所以針對(duì)以上情況,我決定對(duì)于 vue-element-admin 項(xiàng)目出現(xiàn)的大部分技術(shù)棧以及知識(shí)點(diǎn)(比如:element-ui,echarts,vuex等等)進(jìn)行講解

    2024年02月02日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包