vue和php數(shù)據(jù)對(duì)接 vue與php對(duì)接

前端vue與后端Thinkphp在服務(wù)器的部署

vue在服務(wù)端部署時(shí),我們都知道通過npm run build 指令打包好的dist文件,通過http指定是可以直接瀏覽的,Thinkphp通過域名指向index.php文件才可以瀏覽。要使前端正常調(diào)用后端數(shù)據(jù),有兩種方法:1、前端跨域調(diào)用后端數(shù)據(jù),2、前端打包文件部署在后端的服務(wù)器文件夾下(同域)。

為巢湖等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及巢湖網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、成都做網(wǎng)站、巢湖網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

web服務(wù)器: apache

一、跨域

在服務(wù)器配置站點(diǎn):

在路徑/home/www/??下創(chuàng)建test項(xiàng)目文件夾,用來放項(xiàng)目文件。??

找到httpd-vhosts.conf文件配置站點(diǎn)??

前端站點(diǎn):??

ServerName?test.test.com??

DocumentRoot?"/home/www/test/dist"????

DirectoryIndex?index.html??

后端站點(diǎn):??

ServerName?test.testphp.com??

DocumentRoot?"/home/www/test/php"????

DirectoryIndex?index.php??

將前端打包好的dist文件放在/home/www/test/ 文件夾下,運(yùn)行可瀏覽,當(dāng)路徑改變時(shí),刷新會(huì)出現(xiàn)404錯(cuò)誤。此時(shí)dist文件下創(chuàng)建一個(gè).htaccess文件,當(dāng)路徑不存在時(shí),路徑指向能解決此問題。

RewriteEngine?On??

RewriteBase?/??

RewriteRule?^index\.html$?-?[L]??

RewriteCond?%{REQUEST_FILENAME}?!-f??

RewriteCond?%{REQUEST_FILENAME}?!-d??

RewriteRule?.?/index.html?[L]??

在/home/www/test文件夾下創(chuàng)建項(xiàng)目根目錄php文件夾,將thinkphp文件放在php下。TP5的入口文件在public文件下,在這將public下的入口文件index.php挪到php文件夾下(個(gè)人習(xí)慣將入口文件放在項(xiàng)目根目錄), 后端綁定Index模塊。

前端調(diào)用后端接口,存在跨域,跨域解決方法有好幾種,在這我將在后端php做配置,解決跨域問題,在公用控制器設(shè)置跨域配置:

class?Common?extends?Controller??

{??

public?$param;??

//?設(shè)置跨域訪問??

public?function?_initialize()??

{??

parent::_initialize();??

isset($_SERVER['HTTP_ORIGIN'])???header('Access-Control-Allow-Origin:?'.$_SERVER['HTTP_ORIGIN'])?:?'';??

header('Access-Control-Allow-Credentials:?true');??

header('Access-Control-Allow-Methods:?GET,?POST,?PUT,?DELETE,?OPTIONS');??

header("Access-Control-Allow-Headers:?Origin,?X-Requested-With,?Content-Type,?Accept,?authKey,?sessionId");??

$param?=??Request::instance()-param();??

$this-param?=?$param;??

}??

}??

前端調(diào)用登錄接口: this.axios.post('', {user: '', password: ''})。

(可在webpack.base.conf.js文件下可定義接口:)

二、同域

后端配置同上,公共配置器中的header配置注釋。將前端的dist文件下的所有文件(包含.htaccess),放在php文件夾下。將后端index控制器的index方法的路徑重定向php下的index.html文件:

namespace?app\index\controller;??

use?think\Controller;??

class?Index?extends?Controller??

{??

public?function?index()?{??

$this-redirect('/index.html');??

}??

}??

前端調(diào)用登錄接口: this.axios.post('/index.php/base/login', {user: '', password: ''})

轉(zhuǎn)自:

VueJS怎么與PHP進(jìn)行數(shù)據(jù)通信

前端用vue-router管理路由,用ajax不起作用了,那該怎么和PHP通信前端用vue-router管理路由,用ajax不起作用了

后端thinkphp和前端vue怎么協(xié)調(diào)

thinkphp作為服務(wù)端,為客戶端提供數(shù)據(jù)。而Vue是客戶端的一個(gè)JavaScript框架。便于我們對(duì)頁面進(jìn)行處理。

一般情況下,vue通過異步請(qǐng)求來獲取數(shù)據(jù)。由于實(shí)例化vue時(shí)已經(jīng)將相關(guān)的變量、模板等定義好了。

當(dāng)獲取到thinkphp回傳的數(shù)據(jù)后,將會(huì)自動(dòng)的把數(shù)據(jù)對(duì)應(yīng)的呈現(xiàn)在網(wǎng)頁上。 你看過后很簡單吧以后不會(huì)可以向我一樣經(jīng)常到后盾人找找相關(guān)教材看看就會(huì)了,希望能幫到你,給個(gè)采納吧謝謝(? ???ω??? ?)

網(wǎng)站題目:vue和php數(shù)據(jù)對(duì)接 vue與php對(duì)接
網(wǎng)站網(wǎng)址:http://bm7419.com/article26/dohjdjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、云服務(wù)器、企業(yè)網(wǎng)站制作、網(wǎng)站策劃、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名