在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ node傳遞數(shù)據(jù)格式問題

node傳遞數(shù)據(jù)格式問題

小白求教~

//后端傳遞數(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)該就有顯示才對,但是沒有顯示。

圖片描述

回答
編輯回答
只愛你

1.不是數(shù)組,沒有l(wèi)ength,不能循環(huán)。

我將var stuname = []做數(shù)組也不行

做成數(shù)組是可以的,你可以貼下你改成數(shù)組的代碼,或者給出你得到的數(shù)據(jù)。

2.沒有setItem當(dāng)然拿不到,一般也不用sessionstorage,因為瀏覽器打開一個新的標(biāo)簽頁,sessionstorage是不共享的,當(dāng)然這也可能是你的需求。

2017年4月14日 19:50
編輯回答
話寡

1.截圖看下前端取到的值是什么
2.設(shè)置的時候這樣設(shè)置 sessionStorage.setItem('name', 'A同學(xué)'), 取值就可以像你寫的那樣取值了 sessionStorage.getItem('name')

2018年3月8日 20:03
編輯回答
深記你

有個問題,不要把數(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這個keyspan里當(dāng)然不會有A同學(xué)了。具體使用方法參考w3cschool的教程即可。


看題主的描述,我猜測你是跳轉(zhuǎn)了頁面之后再往sessionStorage里存東西?還是先往sessionStorage里存東西再跳轉(zhuǎn)頁面?我試過后者,后者不會導(dǎo)致存儲出現(xiàn)問題??搭}主貼的代碼sessionStorage.setItem('name',res.data.sname);,這個操作如果正常完成,一定會往sessionStorage里存入key為“name”,valueres.data.sname的值的記錄,比如

sessionStorage.setItem('test', 'Rua');
sessionStorage.getItem('test');
// "Rua"

雖然題主找到了獲取“A同學(xué)”的方法,但這沒有從根本上解決問題,還是希望題主能先確認(rèn)一下sessionStorage的功能正常,以及自己的用法的正確性。

2017年7月26日 18:21
編輯回答
好難瘦
<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);
2018年2月20日 13:27