小白求教~
//后端傳遞數(shù)據(jù)
app.post('/get-name',function(req, res) {
sql.query('select stuName from student',function(err, row){
if(err || row.length == 0) {
console.log(err);
} else {
var stuname = {}
for(var i = 0 ;i <row.length; i++) {
stuname [i] = row[i].stuName;
}
console.log(stuname);
res.send(stuname);
}
})
})
打印出來是
然后我v-for遍歷
<ul><li v-for = "item in data">{{ item }}</li></ul>
data (){
return{
data: ''
}
},
mounted() {
var that = this;
this.$ajax.post('http://localhost:3000/get-name', this.$qs.stringify({
})).then(res => {
that.data = res.data;
})
}
結(jié)果就是三個句號了。。。
我將var stuname = []做數(shù)組也不行,請求各位大佬指點。
PS:大佬如果有時間再幫我解決一下一個sessionstorage的問題,,,
data (){
return{
name: sessionStorage.getItem('name')
}
}
<span class="st-name">{{ name }}</span>
這個span為什么沒有變成A同學(xué)?
補充:首先謝謝各位的回答,白天我沒時間看這個只有等到晚上才能繼續(xù)弄,然后就是剛剛打開項目發(fā)現(xiàn)li里面有數(shù)據(jù)了,真是坑啊,,,,我什么都沒有改,,,
然后第二個問題關(guān)于sessionstorage我一開始就設(shè)置了的,只是登陸成功之后一開始sessionstorage里面沒有值,然后我要先點一下sessionstorage然后再點下面的localhost才會有值存進(jìn)去,name是沒有顯示的。
this.$ajax.post('http://localhost:3000/login/stulogin',this.$qs.stringify({
})).then(res=>{
if(res.data.code == 1){
that.$message.success("驗證通過");
sessionStorage.setItem('name',res.data.sname);
補充我是登陸跳轉(zhuǎn)頁面然后存值的,參考上面代碼,然后登陸進(jìn)去之后下面這里還沒有值,已經(jīng)跳轉(zhuǎn)了,我需要點擊一下sessionstorage然后在點那個 http://localhost:8081 才會有A同學(xué)顯示(最開始那張里面有A同學(xué)的值),然后既然里面已經(jīng)有值了我就name就getitem獲得這個A同學(xué),然后span應(yīng)該就有顯示才對,但是沒有顯示。
有個問題,不要把數(shù)組存成JSON對象,你的問題可能和這個有關(guān),我沒試過v-for能不能遍歷對象。按照js的語法的話你for-in遍歷出來的是key而不是value。其次出現(xiàn)奇怪的問題你的第一反應(yīng)應(yīng)該是把奇怪的數(shù)據(jù)打印出來——你確實是打印出來了,但只在后端打印,沒在前端打印,而你出問題的部分目前看來在前端。
你的第二個問題的原因是你沒有正確使用sessionStorage,會話存儲也是key-value結(jié)構(gòu)的,從你的截圖中看,你把一條記錄的key設(shè)置成了“A同學(xué)”,value設(shè)置成了空串,存儲中也確實沒有name這個key,span里當(dāng)然不會有A同學(xué)了。具體使用方法參考w3cschool的教程即可。
看題主的描述,我猜測你是跳轉(zhuǎn)了頁面之后再往sessionStorage里存東西?還是先往sessionStorage里存東西再跳轉(zhuǎn)頁面?我試過后者,后者不會導(dǎo)致存儲出現(xiàn)問題??搭}主貼的代碼sessionStorage.setItem('name',res.data.sname);,這個操作如果正常完成,一定會往sessionStorage里存入key為“name”,value為res.data.sname的值的記錄,比如
sessionStorage.setItem('test', 'Rua');
sessionStorage.getItem('test');
// "Rua"
雖然題主找到了獲取“A同學(xué)”的方法,但這沒有從根本上解決問題,還是希望題主能先確認(rèn)一下sessionStorage的功能正常,以及自己的用法的正確性。
<ul><li v-for = "item in data">{{ item }}</li></ul>
data (){
return{
data: ''
}
},
mounted() {
var that = this;
this.$ajax.post('http://localhost:3000/get-name', this.$qs.stringify({
})).then(res => {
that.data = res.data;
})
}
這個item里面是這樣的,
{'0':'A同學(xué)','1':'B同學(xué)','2':'C同學(xué)'}
如果你是想展示出來,這樣寫應(yīng)該是可以的
<ul>
<li v-for = "item in data">
<span v-for = "(value, key) in item">{{value.key}}</span>
</li>
</ul>
接著是你的存儲問題
data (){
return{
name: sessionStorage.getItem('name')
}
}
<span class="st-name">{{ name }}</span
從你的截圖看,你的sessionStorage的key存的是'A同學(xué)',value是空,你如果是想取A同學(xué)出來,name要傳變量,不是字符串 ‘name’。
name: sessionStorage.getItem('name')
改為
var key = 'A同學(xué)';
var name = sessionStorage.getItem(key);北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。