摘要:而我們自定義的對(duì)應(yīng)的是,對(duì)應(yīng)的是,獲得到的前端數(shù)據(jù)是用戶輸入雙向綁定到了實(shí)例的內(nèi)的,獲取到的數(shù)據(jù)是用戶輸入雙向綁定到的假設(shè)用戶輸入了是,是,那么判斷條件的代碼就是
推薦學(xué)了node.js、vue.js入門(mén)或了解普通js與node傳輸數(shù)據(jù)的觀看
在vue實(shí)例中用vue的方式將數(shù)據(jù)傳遞到后臺(tái)完整html代碼
完整js代碼
利用插件vue-resource在vue中并沒(méi)有方法讓我們進(jìn)行前后端數(shù)據(jù)交互,但是有個(gè)人寫(xiě)了個(gè)插件叫vue-resource,這個(gè)插件可以讓我們正常的進(jìn)行前后端數(shù)據(jù)交互
用cnpm/npm/bower 都可以下載這個(gè)插件
用cmd 進(jìn)入想要安裝的目錄底下后下載
下載代碼:
cnpm/npm/bower install vue-resource$http 方法
下載完之后就可以設(shè)定一個(gè)事件讓登陸注冊(cè)觸發(fā)
首先要使用當(dāng)然是要先將插件的代碼鏈入
利用雙向綁定將前端數(shù)據(jù)在vue 實(shí)例中綁定
html部分: 用戶名:
密碼:
js部分: new Vue({ el:"body", data:{ user:"", password:"", }, methods:{ login:function(){ console.log(this.$http); } } })
可以嘗試去掉vue-resource插件的鏈入,那么console.log(this.$http);就會(huì)失效,控制臺(tái)顯示undefined,因?yàn)?b>$http方法是由這個(gè)插件賦予的
vue-resource插件的用法這個(gè)插件主要就是提供了個(gè)方法可以傳遞前后端數(shù)據(jù),而這個(gè)方法也就是$http
方法后面接傳輸方式get/post
第一個(gè)參數(shù)放入node 寫(xiě)的地址
第二個(gè)參數(shù)以json 的形式放入數(shù)據(jù)名與數(shù)據(jù)
示范代碼接上文,默認(rèn)在方法內(nèi)開(kāi)始寫(xiě):
login():function{ this.$http.get("http://localhost:****",{ user:this.user, pass:this.pass }); }
在方法后面還能用then方法加入一個(gè)報(bào)錯(cuò)判斷,方法內(nèi)傳入兩個(gè)處理函數(shù)
第一個(gè)處理函數(shù)有個(gè)形參,形參是后臺(tái)定義的傳入信息,自定義的,根據(jù)你想要的可以更改判斷信息為任何條件,假設(shè)我們從后臺(tái)傳入的信息為一個(gè)json{"ok":1}
第一個(gè)函數(shù)的形參是后端發(fā)送給前端的一個(gè)數(shù)據(jù)包,里面包含了所有后端發(fā)送過(guò)來(lái)的數(shù)據(jù),有一個(gè)data屬性是我們所需要的,是我們自定義send過(guò)來(lái)的,ok則是我們自定義的內(nèi)容
第二個(gè)處理函數(shù)則是如果信息無(wú)法傳入給后端的話怎么處理
login():function{ this.$http.get("http://localhost:****",{ user:this.user, pass:this.pass }).then(function(dat){ if(dat.data.ok==1){ alert("登陸成功"); }else{ alert("登陸失敗"); } },function(){ console.log("傳輸失敗"); }); }
第二個(gè)函數(shù)也可以不要,因?yàn)檫@是一個(gè)錯(cuò)誤處理函數(shù),我們也可以用then方法的catch方法,效果一樣
login():function{ this.$http.get("http://localhost:****",{ user:this.user, pass:this.pass }).then(function(dat){ if(dat.data.ok==1){ alert("登陸成功"); }else{ alert("登陸失敗"); } }).catch(functino(){ console.log("傳輸失敗"); }); }下面是后臺(tái)node 部分的代碼書(shū)寫(xiě)
要導(dǎo)入的模塊有:
express,body-parser
當(dāng)然,要先下載才能導(dǎo)入使用,下載方法也是用 cnpm/npm/bower 這幾個(gè)包管理器
var express=require("express"); var bodyParser=require("body-parser"); var server = express();
導(dǎo)入完畢后設(shè)定一個(gè)接口號(hào),前端$http方法內(nèi)的地址用到
server.listen(****);
再通過(guò)express() 的use 設(shè)定bodyparser 模塊解析方式為urlencoded()
server.use(bodyParser.urlencoded());
設(shè)定一個(gè)靜態(tài)訪問(wèn)路徑,用于本地服務(wù)器訪問(wèn)前端前端頁(yè)面
server.use(express.static("./"));
自定義一個(gè)用戶信息
var json = { "bill":"111" }
將登陸代碼模塊我們?cè)O(shè)立一個(gè)特別的路徑來(lái)和注冊(cè)區(qū)分
因?yàn)榍岸嗽O(shè)定的傳輸方式是get,所以這里通過(guò)req.query來(lái)解析前端發(fā)送到后端的數(shù)據(jù)
判斷條件是,如果前端的user值作為json的key值或得到的json.user的value值恒等于前端的pass值則發(fā)送一個(gè)json數(shù)據(jù),否則發(fā)送另一個(gè)json數(shù)據(jù),這里發(fā)送的數(shù)據(jù)將在前端then方法的第一個(gè)參數(shù)傳入使用
server.use("/a",function(req,res){ console.log(req.query); if(json[req.query.user]==req.query.pass){ res.send({ok:1,"msg":"登陸成功"}); }else{ res.send({ok:0,"msg":"用戶名或密碼錯(cuò)誤"}); } })
首先要知道json是鍵值對(duì)的形式key:value,可以用中括號(hào)[]代替.來(lái)訪問(wèn)到key所對(duì)應(yīng)的value。
而我們自定義的json key對(duì)應(yīng)的是bill,value對(duì)應(yīng)的是111,req.query.user獲得到的前端數(shù)據(jù)是用戶輸入雙向綁定到了vue實(shí)例的data內(nèi)的user,req.query.pass獲取到的數(shù)據(jù)是用戶輸入雙向綁定到data 的pass
假設(shè)用戶輸入了user是bill,pass是111,那么判斷條件的代碼就是
json[bill]==111 =》111==111
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105325.html
摘要:花了整整三天的時(shí)間來(lái)解決一個(gè)非常非常小的問(wèn)題想要把一點(diǎn)心得體會(huì)記錄下來(lái)首先是問(wèn)題的提出前端如果是后端是如何進(jìn)行數(shù)據(jù)的交互總體思路以前接觸的時(shí)候前端模板用的是那時(shí)候就有些不理解的地方最為不理解的幾個(gè)問(wèn)題是前端和后端怎么配合特別是前端特別復(fù)雜的 花了整整三天的時(shí)間來(lái)解決一個(gè)非常非常小的問(wèn)題.想要把一點(diǎn)心得體會(huì)記錄下來(lái).首先是問(wèn)題的提出:前端如果是react,后端是express,如何進(jìn)行數(shù)...
摘要:工作原因,最近一年斷斷續(xù)續(xù)寫(xiě)了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 工作原因,最近一年斷斷續(xù)續(xù)寫(xiě)了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 Github版本:Front-End Resource Collection 前端相關(guān)資源匯總 學(xué)習(xí)指導(dǎo) 精華文章 Web前端的路該怎么走?:文章超長(zhǎng),但是干貨超級(jí)多,值得反復(fù)精讀! 聽(tīng)說(shuō)2017你想寫(xiě)前端?:適合于已經(jīng)度過(guò)了小白階...
摘要:工作原因,最近一年斷斷續(xù)續(xù)寫(xiě)了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 工作原因,最近一年斷斷續(xù)續(xù)寫(xiě)了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 Github版本:Front-End Resource Collection 前端相關(guān)資源匯總 學(xué)習(xí)指導(dǎo) 精華文章 Web前端的路該怎么走?:文章超長(zhǎng),但是干貨超級(jí)多,值得反復(fù)精讀! 聽(tīng)說(shuō)2017你想寫(xiě)前端?:適合于已經(jīng)度過(guò)了小白階...
摘要:工作原因,最近一年斷斷續(xù)續(xù)寫(xiě)了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 工作原因,最近一年斷斷續(xù)續(xù)寫(xiě)了一點(diǎn)前端代碼,收集整理了一些資料,和大家共享。 Github版本:Front-End Resource Collection 前端相關(guān)資源匯總 學(xué)習(xí)指導(dǎo) 精華文章 Web前端的路該怎么走?:文章超長(zhǎng),但是干貨超級(jí)多,值得反復(fù)精讀! 聽(tīng)說(shuō)2017你想寫(xiě)前端?:適合于已經(jīng)度過(guò)了小白階...
摘要:前后端的界限是按照瀏覽器和服務(wù)器的劃分。前后端彼此互不關(guān)聯(lián)。關(guān)于作者本文部分圖片段落參考文章實(shí)踐中的前后端分離。淘寶前后端分離實(shí)踐本文源碼詳見(jiàn)服務(wù)端代碼。 一、起源 (故事純屬虛構(gòu),如有雷同,純屬巧合)傳說(shuō)在很久很久以前,我們有志之士有了個(gè)創(chuàng)業(yè)的想法,于是乎開(kāi)始了自己的創(chuàng)業(yè)之夢(mèng),但是人手不足啊,于是乎所有角色老子一個(gè)人全包了: Roles: PM, DBA, RD, FED, Des...
閱讀 2260·2021-11-22 09:34
閱讀 2035·2021-09-22 15:22
閱讀 2032·2019-08-29 15:05
閱讀 2122·2019-08-26 10:43
閱讀 3419·2019-08-26 10:26
閱讀 902·2019-08-23 18:29
閱讀 3532·2019-08-23 16:42
閱讀 2007·2019-08-23 14:46