将JSON作为参数传递给Javascript方法

时间:2013-07-08 15:37:56

标签: javascript html

我是Javascript的新手。我正在编写一个Java代码,它在内部编写代码来调用预定义的Javascript方法。

我将Javascript方法定义为:

  function myfunction(url, params) {
        $.post(url, params);
  }

这个发送params是一个JSON到URL作为帖子(我想)。

我的Java代码动态生成HTML,内部生成类似的内容:

<iframe onLoad="myfunction(myinternal, {"system":"abcdef", "token": "12345"})"> ......

然而,这无法运行。页面检查给了我:

SyntaxError: invalid property id
       myfunction(myinternal, {
                               ^

我在这里做错了什么?

非常感谢

3 个答案:

答案 0 :(得分:7)

您的HTML有语法错误。应该更像这样:

<iframe onLoad="myfunction(myinternal, {\"system\":\"abcdef\", \"token\": \"12345\"})">

或用单引号括起来:

<iframe onLoad='myfunction(myinternal, {"system":"abcdef", "token": "12345"})'>

编辑:(按照第一条评论)

<iframe onLoad="myfunction(myinternal, {&quot;system&quot;:&quot;abcdef&quot;, &quot;token&quot;: &quot;12345&quot;})">

答案 1 :(得分:2)

您需要在{json对象中escape引号。

答案 2 :(得分:1)

您在JSON中使用了双引号"。它们被HTML解析器解释为onLoad属性的结尾。

尝试使用单引号,如下所示:

<iframe onLoad="myfunction(myinternal, {'system':'abcdef', 'token': '12345'})">
相关问题