2017-04-19 33 views
1
呈現數據

我使用翡翠框架的前端與&的NodeJS Express的後端jQuery和玉讀取的NodeJS

,所以當我在渲染視圖與數據使用我無法訪問這些數據的JQuery

下面從我的NodeJS服務呈現一個視圖用簡單的數據= X

router.get('/test',function (req,res,next) { 


    res.render('test',{data : 'x'}); 

}); 

所以測試頁面會顯示沒有任何問題,什麼我試圖做的是使用jQuery的方法來讀取所呈現的數據

   footer 
       .pull-right 
        | Gentelella - Bootstrap Admin Template by 
        a(href='https://colorlib.com') Colorlib 
       .clearfix 
      // /footer content 




    // jQuery 
    script(src='/vendors/jquery/dist/jquery.min.js') 
     alert(data) // no alert or action happen 

但錯誤說(未知數據的變量)

而且,我可以從玉石本身

任何建議閱讀嗎?

謝謝

回答

1

嘗試使用以下

|<script> 
!='alert("'+data+'")' 
|</script> 

你要把玉框架內編寫的代碼將無法看到你的服務器端Node.js的變量,因爲該客戶端的JavaScript是裝並在瀏覽器內部執行,所以你必須以某種方式將變量從服務器端傳遞到客戶端,然後使用客戶端JavaScript獲取這些變量。

如果您傳遞了一些字符串,那麼使用以前的方式會更容易。

|<script> - >打開JavaScript標記。

!='alert("'+data+'")' - >將在我們的JavaScript標記中的正常玉石字符串,這意味着它應該給予我們JavaScript代碼,經過玉處理,這將使我們的最終文本alert("x"),因爲數據將被其值取代。

|</script> - >關閉JavaScript代碼

,但如果你想傳遞的對象有一個方法可以做到這一點:

  • 使用AJAX請求。
  • 使用JSON.stringify(data)在服務器端使用對象寫入隱藏div和客戶端var data = JSON.parse(jQuery('div').text())
+0

可惜沒有讀取數據和誤差低於 簡介:2未捕獲的ReferenceError:數據沒有定義 at profile:2 – Faisal

+0

修改我的答案,現在試試吧 – Ezzat

+0

哦哇它現在工作了!但問題是你試圖添加我自己的代碼,但不能!我試圖複製你的代碼也不能 | 那麼這裏有什麼祕密? – Faisal