2016-09-29 58 views
0

我正在使用jinja模板。以對象作爲參數調用函數。 這是來電者。Chrome未捕獲的SyntaxError:意外的標記<Jinja模板

<input class="btn btn-primary center-block" onclick=execute({{ x }}) type="submit" id= 'receive-btn' value="Receive" > 

當代碼被實際調用時,這就是對象如何通過。

<input class="btn btn-primary center-block" onclick=execute((&lt;Orderitem u&#39;Lenovo Vibe K5 (Gold, 16GB)&#39;&gt;, datetime.datetime(2016, 9, 12, 16, 26, 47), u&#39; 402-7679899-5460354&#39;, u&#39;Lenovo Vibe K5 (Gold, 16GB)&#39;, 7000.0, 0.0, 1L, u&#39;9963802143&#39;, u&#39;nagaraju&#39;, 0.0, 0.0, UUID(&#39;377245de-ebaa-4fa9-ad70-8fa28ad602ae&#39;))) type="submit" id= 'receive-btn' value="Receive" > 

的對象似乎確定我的,但我得到了自己的錯誤:

Uncaught SyntaxError: Unexpected token < 

任何之所以出現這種情況? 我對Javascript和Jinja都是新手。一般來說如何將這個對象傳遞給一個javascript函數?

回答

2

看起來您正嘗試將一個字符串傳遞給JavaScript中的execute函數。

JavaScript中的字符串文字必須用"'包圍。

因爲我們還沒有做到這一點,你的數據的第一個字符(<)被視爲一個低於運營商,這是不允許作爲調用函數的()內的第一個字符。

引用你的字符串。

(當包含空格和某些其他字符時,還需要引用您的HTML屬性值)。

onclick="execute(&quot;{{ x }}&quot;)" 

注:這將打破,如果你的數據發生包括"字符。在將它放入模板之前,請將x轉換爲JSON。

0

有可能應該引用onclick屬性。

+0

即使用引號,它也給我同樣的錯誤! –

相關問題