無標題文章

前端與后端交互遇到的相關(guān)問題與總結(jié)

ps栈暇,如果有多個id 則只會選取第一個id 后面的id選擇器無效

教師注冊悬垃,短信驗證默認成功摧冀。

Paste_Image.png

驗證功能:1,驗證用戶是否存在(每個手機號僅能注冊一個用戶桐汤,否則提示用戶已存在) 使用ajax調(diào)用后端接口财破,用post給服務(wù)器傳指定的值宗挥,然后根據(jù)服務(wù)器返回的狀態(tài)碼編寫邏輯
如果data.code == 200時乌庶,成功。跳到失敗契耿,且狀態(tài)碼data.status == 409時 用戶已存在
分析完瞒大,在vue里寫邏輯了,起步在vue的methods中寫事件搪桂,但我不知道可復(fù)用的代碼寫在哪里(函數(shù)與變量)透敌,百度了一通查到了我想問的問題是Vue.js如何添加全局函數(shù)和變量。確實踢械,js文件里可復(fù)用的代碼就是全局的函數(shù)和變量而已酗电。
創(chuàng)建base.js(可供復(fù)用的全局函數(shù))在base.js里輸入
<code>export function reuse() {
some code
}
</code>
在需要使用的vue模板下輸入
<code>import {reuse} from (相對該文件的base.js目錄)
mounted:function () {
reuse() //vue生命周期里調(diào)用reuse函數(shù)
}
</code>
然后,先嘗試用原生ajax寫接口調(diào)用内列,在完成注冊的按鈕下添加點擊事件撵术,點擊之后調(diào)用ajax函數(shù),用原生ajax失敗了话瞧,換成了jquery的插件 ajax
<pre>
import $ from 'jquery'
export function userReg() {
var userInfo = {
"role":1,
"phone":13648655595,
"classroom_id": 100305,
"password": "gaoyang",
"name": "高楊",
"sex": 0
}
$.ajax({
type:"POST",
url:"/users_pc",
contentType: "application/json;charset=UTF-8",
dataType: "json",
data: JSON.stringify(userInfo), //為什么在這里JSON對象格式要轉(zhuǎn)成字符串格式
success: function (data) {
console.log(data)
},
error:function (data) {
console.log(data)
}
})
}
</pre>
該代碼傳遞data數(shù)據(jù)成功嫩与,并返回了正確的結(jié)果。但傳遞給后端的data是寫死的移稳,我要把data的屬性所對應(yīng)的值動態(tài)從表單中獲取蕴纳,基本的使用jquery提供的val()方法,表單上有name和password字段个粱,最重要的是phone字段的值是位于第一個組件中的古毛。
先嘗試將值放入vuex中,再在ajax頁面取到vuex中的值都许。
我在<html>中綁定v-model稻薇,但在vue實例中的data是失效的,浪費了1個小時胶征,是因為我在vue實例的下方定義了一個data對象塞椎,console.log()打印的是<code>(定義的data屬性) is not defined on the instance but referenced during render</code>我就一直找是不是語法錯誤了,代碼也沒有高亮提示睛低,最后還是交給高小龍看案狠,2分鐘解決問題服傍,后面的data會覆蓋前一個data對象,后一個data里自然就沒有定義我需要的data屬性骂铁。
想利用vue雙向綁定的特性取表單里的值吹零,但難以實現(xiàn),就用原生js來完成這一功能吧拉庵。
1.點擊事件里獲取表單中的值并存入userInfo對象中灿椅,該對象會通過ajax的data屬性傳入后臺
2.ajax返回的數(shù)據(jù)進入success或error中,各自觸發(fā)相應(yīng)的跳轉(zhuǎn)條件钞支,這里我像在vue模板使用<code>this.$store.state.show</code>失敗了茫蛹,因為在ajax里this指向$.ajax,這里卡住很久烁挟,想怎么樣在js文件里獲取store.js文件里state中的狀態(tài)婴洼。在vue模板里是先在main.js里引入store,再將store綁定到Vue實例上信夫,這樣做是為了讓整個應(yīng)用都擁有路由功能窃蹋。我想就先在ajax.js文件里先引入store.js文件試試吧,后來果不其然静稻,可打印出store對象。
接下來就是表單驗證了匈辱。
基本表單驗證寫完振湾,中間沒有大的問題。
點擊完成注冊之后會跳轉(zhuǎn)加入班級頁亡脸,跳轉(zhuǎn)過去后押搪,輸入班號 這是用enter監(jiān)聽的在formManager.js的89行,當輸入的班級id數(shù)為6時浅碾,執(zhí)行g(shù)etClassInfo()函數(shù)執(zhí)行完后改變下一步按鈕的狀態(tài)大州。接下來看getClassInfo()函數(shù),在formManager.js455行垂谢,該函數(shù)通過get接口獲取班級信息厦画,當data.meta.code為200時,拿到班級信息并展示在指定的位置滥朱。 選擇到下一步的按鈕根暑,點擊下一步按鈕,當展示的班級信息不為空時徙邻,就切換排嫌,返回上一步則不做要求。
思路明確缰犁,接下來繼續(xù)在util.js里寫獲取信息的函數(shù)和班號輸入監(jiān)聽
獲取接口的data數(shù)據(jù)已經(jīng)寫完了淳地,接下來當狀態(tài)碼為200時取data里的數(shù)據(jù)怖糊,并選擇到html上的元素用jquery的text()展示,下面是展示班級信息的
Paste_Image.png

當班級信息不對颇象,就展示
Paste_Image.png

然后寫keyup事件蓬抄,發(fā)現(xiàn)沒有效果,原來是函數(shù)沒有加export
keyup事件監(jiān)聽夯到,需將監(jiān)聽放入一個函數(shù)中導(dǎo)出嚷缭,并在vue生命周期中添加,因為雖然$(function(){})函數(shù)能自執(zhí)行耍贾,但函數(shù)內(nèi)再寫函數(shù)就無法執(zhí)行
<code>
export function testKey () {
$('#classId').keyup(function () {
$('#classInfo').text("")
$('.step-errMsg').hide()
if ($('#classId').val().length == 6){
getClassInfo($("#classId").val(),1) //如果不用函數(shù)包裹在mounted中執(zhí)行阅爽,則該函 數(shù)無法執(zhí)行
}
})
}
</code>
這一步已得到班級信息,而且根據(jù)班級信息是否為空來進入下一步荐开。
localhost:8081/appdesk 這是在哪里配置的付翁?
Paste_Image.png

Paste_Image.png

教師注冊最后一步:確認加入
第一次出現(xiàn)問題是因為班級id的值沒有渠道
第二次報錯401
應(yīng)在ajax里設(shè)置請求頭
<code>
$.ajax({
beforeSend: function (request) {
request.setRequestHeader("X-Session", session);
}
})
</code>
設(shè)置請求頭,用來表示請求信息的類型 加密的其他相關(guān)信息

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晃听,一起剝皮案震驚了整個濱河市百侧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌能扒,老刑警劉巖佣渴,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異初斑,居然都是意外死亡辛润,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門见秤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砂竖,“玉大人,你說我怎么就攤上這事鹃答『醭危” “怎么了?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵测摔,是天一觀的道長置济。 經(jīng)常有香客問我,道長避咆,這世上最難降的妖魔是什么舟肉? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮查库,結(jié)果婚禮上路媚,老公的妹妹穿的比我還像新娘。我一直安慰自己樊销,他們只是感情好整慎,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布脏款。 她就那樣靜靜地躺著,像睡著了一般裤园。 火紅的嫁衣襯著肌膚如雪撤师。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天拧揽,我揣著相機與錄音剃盾,去河邊找鬼。 笑死淤袜,一個胖子當著我的面吹牛痒谴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播铡羡,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼积蔚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了烦周?” 一聲冷哼從身側(cè)響起尽爆,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎读慎,沒想到半個月后漱贱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡贪壳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年饱亿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闰靴。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖钻注,靈堂內(nèi)的尸體忽然破棺而出蚂且,到底是詐尸還是另有隱情,我是刑警寧澤幅恋,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布杏死,位于F島的核電站,受9級特大地震影響捆交,放射性物質(zhì)發(fā)生泄漏淑翼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一品追、第九天 我趴在偏房一處隱蔽的房頂上張望玄括。 院中可真熱鬧,春花似錦肉瓦、人聲如沸遭京。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哪雕。三九已至船殉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間斯嚎,已是汗流浹背利虫。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留堡僻,地道東北人糠惫。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像苦始,于是被迫代替她去往敵國和親寞钥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉陌选,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 1,734評論 0 9
  • ##Flux與面向組件化開發(fā)首先要明確的是理郑,F(xiàn)lux并不是一個前端框架,而是前端的一個設(shè)計模式咨油,其把前端的一個交互...
    吳小蛆閱讀 316評論 0 0
  • vue插件介紹 2. 插件分類 主要注冊與綁定機制如下: export default{install(Vue...
    Osmond_wang閱讀 339評論 0 1
  • 想為自己的內(nèi)心做點事嗎役电?從下定決心追隨你的夢想開始赚爵! “你大學(xué)里的志愿是你父母選的,你大學(xué)里的課程是你挑好過的選的...
    惹我你就別安生閱讀 331評論 0 0
  • 在阿里實習(xí)了五個月時間法瑟,難得騰出些時間去總結(jié)在實習(xí)期間所學(xué)到的一些東西冀膝,也算是對實習(xí)期間的一個感悟和復(fù)習(xí)吧。 ...
    符要瘋閱讀 1,091評論 0 7