當前位置:首頁 » 文件傳輸 » vue前端訪問其他電腦後端
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

vue前端訪問其他電腦後端

發布時間: 2023-01-06 01:24:50

『壹』 vue根據url不同訪問不同的後端

vue根據url不同訪問不同的後端是對的。根據查詢相關資料得知,在後台編碼操作里,vue根據url不同訪問不同的後端,不可串訪,也做不了串訪,需謹慎操作。

『貳』 Vuejs作為前端服務,JAVA做後端服務,中間的交互請求如果用jquery的ajax不是會出現跨

只要在同一域名下就不會跨域。

『叄』 請大佬幫解答下VUE與後端數據交互的問題

以下針對的是你要用vue+webpack開發前後端分離單頁面項目(spa)來回答,vue也可以用在傳統MVC的視圖層,這種開發模式不在回答范疇

  1. 開發spa的話,視圖路由切換(router)邏輯都在前端,前後端分離,基本是一個html完成所有頁面,不再(很少)需要後端渲染視圖了

  2. 這是前端框架開發問題,跟後台沒什麼關系

  3. 只有開發依賴nodejs,打包後就是可以直接運行的普通html+js文件,上線並不需要專門的環境

  4. 可以跟後台項目放一起,只要能打開包後的index.html 放哪裡都行

  5. AJAX,數據交互完全通過AJAX,視圖邏輯都在前端處理,哪個頁面需要的哪個數據通過AJAX請求讓後台指定介面提供,不會存在後台不知道提供給哪個頁面,前台不知道怎麼接受數據的問題。

『肆』 前端vue與後端Thinkphp在伺服器的部署

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

web伺服器: apache

一、跨域

在伺服器配置站點:

在路徑/home/www/  下創建test項目文件夾,用來放項目文件。  

找到httpd-vhosts.conf文件配置站點  

前端站點:  

    ServerName test.test.com  

    DocumentRoot "/home/www/test/dist"    

    DirectoryIndex index.html  

後端站點:  

    ServerName test.testphp.com  

    DocumentRoot "/home/www/test/php"    

    DirectoryIndex index.php  

將前端打包好的dist文件放在/home/www/test/ 文件夾下,運行http://test.test.com可瀏覽,當路徑改變時,刷新會出現404錯誤。此時dist文件下創建一個.htaccess文件,當路徑不存在時,路徑指向http://test.test.com/index.html能解決此問題。

  RewriteEngine On  

  RewriteBase /  

  RewriteRule ^index\.html$ - [L]  

  RewriteCond %{REQUEST_FILENAME} !-f  

  RewriteCond %{REQUEST_FILENAME} !-d  

  RewriteRule . /index.html [L]  

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

前端調用後端介面,存在跨域,跨域解決方法有好幾種,在這我將在後端php做配置,解決跨域問題,在公用控制器設置跨域配置:

class Common extends Controller  

{  

    public $param;  

    // 設置跨域訪問  

    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;  

    }  

}  

前端調用登錄介面: this.axios.post('http://test.testphp.com/index.php/base/login', {user: '', password: ''})。

(可在webpack.base.conf.js文件下可定義介面:http://test.testphp.com/index.php/)

二、同域

後端配置同上,公共配置器中的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');  

    }  

}  

前端調用登錄介面: this.axios.post('/index.php/base/login', {user: '', password: ''})

轉自:https://blog.csdn.net/qq_35465132/article/details/78986675

『伍』 vue前端調用後端是通過伺服器還是瀏覽器

vue怎麼同時調用兩台不同伺服器的介面
vue組件的數據傳遞應該是單向,永遠是向下的,把父組件屬性方法傳遞到子組件typescript值得學習嗎,先學typescript還是javascript。
如果子組件要改變不同的顏色,是應該接受父組件傳遞進來的props,自己調用自己的方法,把props當個參數來判斷來顯示什麼顏色,而不是讓父元素調子組件的方法。

還有一種是vuex,組件本身跟store的某個值綁定,外部組件修改store的值,來影響該組件的顏色。

web前端怎麼調用api介面
1、首先需要確定第三方的介面的基本信息:地址、請求方式,參數、返回值,介面模式這里第三方的介面是restful風格的,採用get請求。

2、確定好介面的相關模式之後,這里編寫http的請求,用參數、請求模式構造請求。

3、這里最重要的構造http的請求,這里採用CloseableHttpClient,設置相關的header,採用HttpResponse接受用戶的返回值。

4、在業務類中只需要封裝相關的請求,把參數傳入給介面中即可,這里返回jsonObject方便解析使用。

5、調用api介面還有其他的模式,如圖通過MultiValueMap,封裝參數,構造HttpEntity對象,RestTemplate發送請求即可。

使用vue的ajax-post請求調用介面


一般來說post請求應該傳遞對象,而不是直接傳遞數組,直接傳遞數組後端可能無法獲取到你傳過去的參數,個人建議要麼吧你傳過去的參數序列化,要麼把這個數組JSON.stringify()轉換成json字元串傳遞過去。

前端調用後端的介面有幾種方式了
一般不存在前端給後端介面的情況,幾乎都是後端給前端介面,所謂介面就是可以通過服務端部署的機器提供出來的URL地址進行動態的數據交互。

通常的工作流是後端跟前端協商定義數據介面格式(一般就是JSON格式)形成文檔,後端實現介面,前端做靜態的mock(可以是直接在頁面的JS拼假數據或者通過JSONserver按照真實調用服務的方式集成),後端實現服務介面,兩邊都完成後集成聯調。

現在有swagger或者apiairy等工具可以更簡化這個過程。

『陸』 VUE3前端開發入門系列教程五:Nginx+ThinkJS後端無縫接入

## vite打包:會自動編譯,生成dist文件夾

## thinkjs配置: src/config/router.js

## nginx配置

-----

在vue前端訪問後端時直接使用ThinkJS的API:/api/...