歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 使用反向代理(Node.js)調試前端Ajax

使用反向代理(Node.js)調試前端Ajax

日期:2017/3/1 9:46:05   编辑:Linux編程

  最近需要調式大量包含Ajax的前端代碼,數據是采用的JSON格式。作為一個懶人,我不想每次都去打開 Visual Studio 來跑服務(VS實在太重量級了)。但是Ajax訪問有跨域的問題,不能直接從本地JSON文件中去取模擬數據,所以我跑了一個NodeJS+Express來做數據模擬。

  另外,用JSON文件來模塊數據還有兩個問題:一是就算同一個API,不同的業務處理都有不同的返回結果,何況API還不是少數;另外,Ajax調用同一個API,根據業務處理不同,需要返回不同的結果——這是靜態JSON文件做不到的。

  如果用NodeJS來模擬業務分支,返回不同的結果……雖然可以實現,但是相當於重新寫了個簡化版業務,太累太累……。那麼,用NodeJS把獲取的請求轉發給開發服務器,再把開發服務器返回的結果返回到前端呢——這個辦法好,標准的反向代理模型。

  然後就是去尋找NodeJS的代理組件了,找到了 node-http-proxy 和 simple-http-proxy,經過簡單的試驗都沒讓它們工作起來,可能是有地方配置錯了。由於不想費神去研究這兩個東東,干脆直接用NodeJS的http.request來實現。反正只是做JSON代理,而且也沒有什麼業務邏輯在裡面。

  基本思路就是為 express 寫一個路由處理模塊,把所有 "/api/" 開始的 URL 都用這個路由處理器模塊來處理。這個模塊將收到請求的URL轉換成開發服務器上的URL,再把請求的參數原樣帶上,然後將開發服務器上返回的結果直接返回給浏覽器。

Node.js 的詳細介紹:請點這裡
Node.js 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved