簡體   English   中英

JSON String作為Javascript函數參數

[英]JSON String as Javascript function argument

我試圖在Javascript函數中將純JSON字符串定義為參數。

以下是我想要定義它的方式:

<a href="#" onclick="js_func('arg_1', 'arg_2', '{"key": "value"}'); return false">Link</a>

Firebug給了我一個錯誤警告:未終止的字符串文字,即使我在JSON字符串上轉義雙引號也是如此。

我怎么解決這個問題?

謝謝。

使用&quot; 對於你的雙引號, 然后在 js_func() ,在評估你的JSON字符串之前用實際的雙引號字符( " )替換它們。 (感謝演示Matthew,我用問題中的例子更新你的小提琴:)

http://jsfiddle.net/brillyfresh/kdwRy/1/

只需將鏈接定義為<a href="#" onclick="js_func('arg_1', 'arg_2', {key: 'value1'}); return false;">Link</a> JSON是有效的JavaScript,你不需要將它包含在內。
我還建議使用EventListener( element.addEventListener() ),這使得html更清晰,並將此問題減少為空。

你要么試圖傳遞解析對象,要么傳遞一個字符串

Object: onclick="js_func(arg_1, arg_2, {'key': 'value'});"

String: on_click="js_func('arg_1', 'arg_2', '{\"key\": \"value\"}'); return false"

我所有的方便測試是firebug解釋器,但兩者都適合我。

>>>>'{\"key\": \"value\"}'
"{"key": "value"}"
>>>> {'key': 'value'}
Object {key="value"}

(我不是要假設arg_1arg_2是字符串還是變量名,並不重要。只是做與JSON相同的事情)

暫無
暫無

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

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