0

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

我有一个 Javascript 方法定义为:

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

这会将作为 JSON 的参数作为帖子发送到 URL(我想)。

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

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

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

SyntaxError: invalid property id
       myfunction(myinternal, {
                               ^

我在这里做错了什么?

非常感谢

4

3 回答 3

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;})">
于 2013-07-08T15:40:23.150 回答
2

您需要在 json 对象中转义引号。

于 2013-07-08T15:40:26.493 回答
1

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

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

<iframe onLoad="myfunction(myinternal, {'system':'abcdef', 'token': '12345'})">
于 2013-07-08T15:40:46.053 回答