1. 程式人生 > >前端沒有後臺時需要使用mock情況

前端沒有後臺時需要使用mock情況

當前時間20180409
npm install [email protected] [email protected] --save-dev
一定要加上版本 因為koa2 需要最新的node 7.6以上才可以支援


var app = require('koa')();
var router = require('koa-router')();


// 訂單列表
const orderList = require('./orderlist/orderList.js')
router.get('/api/orderlist/:username', function *(next) {
    console.log('訂單列表')


    const params = this.params
    const username = params.username
    console.log('使用者名稱:' + username)


    this.body = orderList
})


// 開始服務並生成路由
app.use(router.routes())
   .use(router.allowedMethods());
app.listen(3000);


post請求
formdata: ?name=iwen&age=20
x-www-form-urlencode: {name: iwen,age:20}
qs 可以把下邊的xhr格式轉化為formdata格式
qs.stringify




vue2.0 推薦使用 axios


axios安裝 npm install axios --save 需要在生產環境中使用 所以不加入dev


在vue中axios 需要被掛在到vue的原型鏈上
Vue.prototype.$axios = Axios


GET請求
axios.get('/user?ID=12345')

axios.get('/user', {
    params: {
      ID: 12345
    }
  })
then。。。


POST請求
axios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
then。。。


axios擁有攔截器 這使得你在傳送請求和接受資料的時候都可以取到和後臺互動的資料流




// 新增請求攔截器


Axios.interceptors.request.use(function(config) {




if (config.method == "post") {


config.data = qs.stringify(config.data)


}




return config;


}, function(error) {


// 對請求錯誤做些什麼


return Promise.reject(error);


});






// 新增響應攔截器


Axios.interceptors.response.use(function(response) {




return response;


}, function(error) {


// 對響應錯誤做點什麼


return Promise.reject(error);


});
這裡使用了qs 這個內建的一個模組 該模組不需要安裝 可以讓你的引數不需要穿的那麼痛苦 正常傳參就可以了


使用vue的 config中index proxy這個變數
proxyTable: {


            '/api': {


                target: 'http://localhost:3000',


                secure: false


            }


        },
這個變數是vue2.0內建的webpack 中的proxy 這個代理屬性 可以再開發環境中實現跨域 但是 在真正的生產環境中不可以這樣做 生產環境讓


後臺來處理跨域
這種最好要在main.js中宣告一個全域性的host 這樣在$axios url使用的時候可以統一的用this.HOST來呼叫 在生產環境的時候要把這行賦值為



Vue.prototype.HOST = '/apis'

相關推薦

前端沒有後臺需要使用mock情況

當前時間20180409npm install [email protected] [email protected] --save-dev一定要加上版本 因為koa2 需要最新的node 7.6以上才可以支援var app = require('koa'

從零開始前端學習[20]:前端後臺可能需要使用互動的表單form,input標籤

前端與後臺可能需要使用互動的表單標籤 form表單和input標籤 textarea文字域表單 select,option下拉列表表單 fieldset和legend組合表單 label標籤 form表單和input標籤 什麼是表單???表

tomcat配置虛擬路徑,可以解決實際開發中測試前端訪問後臺電腦上的圖片的問題

ram 使用 mage height 顯示 地址 cal 重啟 server 首先電腦上要已經安裝好tomcat,安裝tomcat的教程可以從網上找到很多。這裏就不贅述了。 一般開始做一個web項目後,會涉及到用戶頭像,商品圖片等信息,這些圖片保存在項目中不方便,於是我將選

JSP傳給前端一個數字的字串需要注意轉換

問題: 當後端傳給前端一個全數字的字串時,如超過17位,在前端console發現最後一位的數值會不同,如下: JAVA程式碼 <span style="white-space:pre"> </span>public void infoView()

二、前端後臺發起請求,出現的引數亂碼問題解決方案

(一)問題介紹   前端在向後臺發起請求時,可能會向後臺傳遞引數。傳遞引數主要有兩種方式:POST和GET,若我們不加以配置,那麼後臺接到的引數可能會有亂碼問題。 (二)POST亂碼   對於POST方式提交的引數若出現亂碼,解決方案如下: <

混合模式程式集是針對“v2.0.50727”版的執行生成的,在沒有配置其他資訊的情況下,無法在 4.0 執行中載入該程式集。

今天在把以前寫的程式碼生成工具從原來的.NET3.5升級到.NET4.0,同時準備進一步完善,將程式集都更新後,一執行程式在一處方法呼叫時報出了一個異常: 混合模式程式集是針對“v2.0.50727”版的執行時生成的,在沒有配置其他資訊的情況下,無法在 4.0 執行時中

Django文件沒有創建模板文件,自己創建模板文件需要進行的修改

pla 運行 9.png rap 修改 tin temp 子文件夾 bubuko 問題介紹: 1、在創建Django文件時,系統沒有自動創建templates文件夾及相應文件。於是自己創建了templates文件夾,並創建了名為userapp的子文件夾,在子文件夾中

前端後臺的華麗轉身 — PHP基礎篇

tag 排序算法 四大 查找字符 字符串 explode 通過 比較運算 right 這一次,本K帶大家來看一下關於PHP中數組、字符串的一些註意事項和函數(方法)。 一、PHP中的數組 (一)PHP中的數組簡介 數組類型是PHP兩種復合數據類型之一。根據下標的

前端模擬後臺返回數據之Mockjs

com end specific git syn 後臺 frontend http front 一、官方文檔: https://github.com/nuysoft/Mock/wiki/Syntax-Specification 二、極限前端實例: ht

關於Web前端 編程流程控制中的流程控制圖和 if 判斷及九九乘法表

參考 偶數 bsp web -c 書寫方式 形狀 出現一次 多次 本次分享首先是流種植控制圖的一些理論知識: 一、流程圖:使用標準化的圖形方案,分析某個功能的實現步驟(標準化:流程圖規定的形狀) 二、接下來說一下 if 判斷一些知識點 1、在if判斷中如果某個分支中的代

網頁設計、web前端後臺的開發流程和註意事項 -----轉

開發人員 命名 彈出層 設計效果圖 元素 文檔 這一 dem sof 工作2年了,總感覺每次做項目的時候,都是趕時間,趕時間,加班幾班,可是最後總結一看,百分之50的時間都浪費在做無用功上面了,甚至因為設計人員的失誤,造成了前端和程序大量的返工,休整,加班,造成了開發人員

iOS 手機沒有安裝支付寶的情況下,不調支付寶網頁的解決的方法

sar inf order 手機 tin popu 全部 shared bject NSArray *array = [[UIApplication sharedApplication] windows]; UIWindow* win=[array objectAt

前端後臺ThinkPHP開發整站(3)

reac add ets data struct -a tle min ons   繼續我的這個項目的第三晚的開發了,時間比較少,今晚寫的代碼不多,今晚仍然是造輪子寫一個公共的控制器和一個公共的JS。直接上代碼吧!   以下是一個公共的控制器,後臺控制器都繼承於它,構造函數

前端後臺ThinkPHP開發整站(5)

進度 get git avs 技術分享 rto md5加密 -c exit   今天周五了,這個項目做了五個晚上了,明天周末不用上班有一整天的時間來結束這個項目了,今晚主要把後臺界面給弄出來了。   大概的整個後臺界面就是這個樣子了,接下來的工作就是搬磚了,一個個菜單功能填

Egret置於後臺,暫停遊戲邏輯 (Egret 5 )

實現 handle 動畫 blog http 計時 總結 背景音樂 lifecycle 官網教程-生命周期:http://developer.egret.com/cn/2d/lifecycle 主要是在遊戲置於後臺時,關閉遊戲邏輯、渲染邏輯和背景音樂,保證更好的用戶體驗

SetTimeout直接執行沒有

timeout 答案 一個 png color 如果 設置 .cn 運行 今天做頁面下拉加載效果,遇到一個坑爹的問題。我在做這個效果的時候用了setTimeout,設置了3秒的延遲時間,但是效果確實直接運行沒有延時。這個效果讓我很操蛋,最後我在CSDN看到一位前輩對這個問題

【安裝防火墻】沒有iptables的解決辦法

命令 div 內網ip root lis iptable 解決 啟動服務 col 一、檢查iptables服務狀態 首先檢查iptables服務的狀態 [[email protected] ~]# service iptables status ipta

使用mvc返回給瀏覽器html元素需要註意的一個問題

字符 html元素 使用 cot 就會 div 區別 div標簽 標簽 當直接使用 return Cotent(string str)返回給頁面html元素時,特別需要註意html標簽的格式 比如:返回"<div></div>" 在頁面上是能成功地被

gcc/clang編譯帶pthread.h頭文件的源碼需要的參數

規則 小程序 訪問 技術分享 ges 增加 文件 警告 include 今天敲了一個小程序,編譯時出現錯誤:undefined reference pthread_create 原來由於pthread庫不是Linux系統默認的庫,連接時需要使用庫libpthread.a

delphi的bpl、dcp 、dcu文件意義(BPL相當於C++中的DLL,DCP相當於C++中的Lib,編譯需要

cti function 同時 就會 新建 art img runt 既然 BPL 英文全稱 Borland Package library ,是一種特殊的DLL文件,用於代碼重用和減少可執行文件。編譯bpl時,僅需要添加相應功能的pas文件,如果有窗體,