我想从下面的HTML中调用Javascript funnction:
<button data-toggle="modal" onclick="load_data('<%= data.book.to_json %>')">Click</button>
这里data.book.to_json
是我传递的JSON。
我的一个密钥包含像{"key": "value's"}
这样的撇号值
这给了我一个错误:
参数列表后SyntaxError:missing)。
如果删除{"key": "value"}
之类的撇号,那么它就可以了。
而且,我想使用撇号。所以,请让我知道如何做到这一点。
我在JSON对象之前尝试使用\',但它不起作用。
答案 0 :(得分:1)
喜欢这个?
<button data-toggle="modal" onclick="load_data(#{data.book.to_json})">
而且:
<button data-toggle="modal" onclick='load_data("#{data.book.to_json}")'>
答案 1 :(得分:0)
您也许可以这样使用
JSON.stringify(data.book).replace(/'/g, "'")
或可能是
data.book.to_json.replace(/'/g, "'")
我没有尝试过后者。但我认为它会起作用。
希望它有所帮助!
答案 2 :(得分:0)
您可以尝试在Rails中等效的PHP addslashes
功能。
它将在转义字符之前添加反斜杠,如单引号('),双引号(“),反斜杠()。
点击此处查看PHP addslashes
答案 3 :(得分:0)
我通过在模型中创建回调来解决错误:
after_find do
self.comments = (self.comments.gsub("'","'"))
end
在获取记录时,它将用&amp;#39替换单引号。我只是在接受单引号的列中进行更改。 感谢所有宝贵的建议。