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

Kev*_*vin 0 html javascript

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

我有一个Javascript方法定义为:

  function myfunction(url, params) {
        $.post(url, params);
  }
Run Code Online (Sandbox Code Playgroud)

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

我的Java代码动态生成HTML,内部生成如下内容:

<iframe onLoad="myfunction(myinternal, {"system":"abcdef", "token": "12345"})"> ......
Run Code Online (Sandbox Code Playgroud)

但是,这无法运行.页面检查给了我:

SyntaxError: invalid property id
       myfunction(myinternal, {
                               ^
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

非常感谢

jrt*_*hib 7

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

<iframe onLoad="myfunction(myinternal, {\"system\":\"abcdef\", \"token\": \"12345\"})">
Run Code Online (Sandbox Code Playgroud)

或包装在一个单引号中:

<iframe onLoad='myfunction(myinternal, {"system":"abcdef", "token": "12345"})'>
Run Code Online (Sandbox Code Playgroud)

编辑:(每第一条评论)

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

  • 第一个解决方案不正确,html不允许像那样转义.在这种情况下你应该使用````. (2认同)