Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中将json作为参数传递,内容中带有空格_Javascript_Json - Fatal编程技术网

在javascript中将json作为参数传递,内容中带有空格

在javascript中将json作为参数传递,内容中带有空格,javascript,json,Javascript,Json,当内容没有空间时,以下命令起作用 <a onclick=fbShareDialog("{\"name\":\"aaaaaaa\"}"> 但是如果有一个空间 <a onclick=fbShareDialog("{\"name\":\"bbbbb bbbbb\"}"> 它抛出未捕获的SyntaxError:意外标记非法 因为我认为所有的内容都在引用中,为什么不起作用呢 提前感谢您需要确保避开空格,并将所有内容放在双引号内 我现在无法测试,但可以尝试类似的方法 另

当内容没有空间时,以下命令起作用

<a onclick=fbShareDialog("{\"name\":\"aaaaaaa\"}">

但是如果有一个空间

<a onclick=fbShareDialog("{\"name\":\"bbbbb bbbbb\"}">

它抛出未捕获的SyntaxError:意外标记非法

因为我认为所有的内容都在引用中,为什么不起作用呢


提前感谢

您需要确保避开空格,并将所有内容放在双引号内

我现在无法测试,但可以尝试类似的方法


另外,如果您没有内联编写此函数,而是编写一个函数来捕获单击事件,则可能是一个更好的主意。

您暗示的是一个无引号属性,这在HTML中是非常糟糕的形式,但不幸的是,由于HTML的肮脏历史,仍然允许使用该属性。该属性是“onclick”,它实际上包括fbShareDialog,但不在引号中

尝试:



或者更好的做法是,在应用程序的.js文件中绑定单击事件,而不是在html中绑定onclick。

这是因为空格使它看起来像是
onclick
属性值的结尾,所以函数调用中途被切断。要将其全部分组为一个值,请在外部加上单引号
onclick='fbShareDialog(“{\'name\”:\'bbbbbbbbbbbbbbbbbb\”)
显示您访问json对象的位置。Cookie monster的右侧,并且您还缺少右括号。不客气。但奇怪的是,JSON将做什么?如果只是要对其进行解析,那么实际上根本不需要JSON字符串,因为如果删除大括号外的引号,JSON语法将很好地解析为JavaScript对象文字语法。转义空格不会有什么区别。只需查看您的注释。我现在明白了。是的,它是作为菲利克斯工作的-谢谢,忘了从副本中清除一些剩余的引用。固定的
<a onclick='fbShareDialog({"name":"bbbbb bbbbb"})'>