簡體   English   中英

無法將數據從玉傳遞到javascript

[英]Unable to pass data from jade to javascript

我正在學習翡翠,以下是我的代碼段

extends layout


block content
  h1= title
  p Token is #{token.access_token}
      script(type='text/javascript')
          var tokenValue = JSON.parse(token);
          sayhi(tokenValue);

在我的test.js中

function sayhi(token) {
    console.log(token);
}

如果我從sayhi發送文本-效果很好,但是如果我發送tokenValue-我收到以下錯誤:

unexpected text ;

   at Object.Lexer.fail (/home/shardul/WebstormProjects/trial/node_modules/jade/lib/lexer.js:872:11)
   at Object.Lexer.next (/home/shardul/WebstormProjects/trial/node_modules/jade/lib/lexer.js:931:15)
   at Object.Lexer.lookahead (/home/shardul/WebstormProjects/trial/node_modules/jade/lib/lexer.js:113:46)
   at Parser.lookahead (/home/shardul/WebstormProjects/trial/node_modules/jade/lib/parser.js:102:23)
   at Parser.peek (/home/shardul/WebstormProjects/trial/node_modules/jade/lib/parser.js:79:17)
   at Parser.tag (/home/shardul/WebstormProjects/trial/node_modules/jade/lib/parser.js:751:22)
   at Parser.parseTag (/home/shardul/WebstormProjects/trial/node_modules/jade/lib/parser.js:737:17)
   at Parser.parseExpr (/home/shardul/WebstormProjects/trial/node_modules/jade/lib/parser.js:211:21)
   at Parser.block (/home/shardul/WebstormProjects/trial/node_modules/jade/lib/parser.js:707:25)
   at Parser.tag (/home/shardul/WebstormProjects/trial/node_modules/jade/lib/parser.js:816:24)

我在這里看到的一些問題。

  1. 您需要使用句點將腳本定義為文本塊。
  2. token當前是Jade中的一個變量,需要為JS編碼,而不是解碼。
  3. 您需要將token插入文本塊。

最終代碼:

block content
  h1= title
  p Token is #{token.access_token}
      script(type='text/javascript').
          var tokenValue = #{JSON.stringify(token)};
          sayhi(tokenValue);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM