2016-05-31 77 views
0

我想传递一个字符串参数传递给JavaScript函数。由于某种原因,它只能获得整数。 我只把这个字符串的语法放在这里,因为我知道这是问题,因为它使用int。通字符串函数编写JavaScript

发送函数内部代码:

String counter = "hey"; 
out.println("<script>parent.update(\'' + counter + '\')</script>"); 
out.flush(); 

最后,我期望我的如下HTML页面上update功能与counter值调用如上图所示:

<script> 
     function update(p) { alert(p); } 
</script> 

正如我所说,当我发送一个int时,javascript文件会发出警报,但是当我发送一个字符串时,它并没有反应。

+0

这是什么语言? – azium

+0

Java和JavaScript,正如我所说 –

+0

JavaScript文件中的任何错误? –

回答

0

你要做的事情叫做“字符串插值”,并在其他语言中使用 - 你可以使用格式化字符串并获取自动插入的值。

您使用的代码没有这样做 - 因为您只将单个字符串传递给out.println它将按原样打印。如图String variable interpolation Java

out.println(String.Format("<script>parent.update('%s')</script>", 
    counter)); 

你选择

  • 构建字符串拼接

    out.println("<script>parent.update('" + 
        counter + 
        "')</script>"); 
    
  • 使用的String.format:如果你值正试图传递给JavaScript函数可能包含引号(特别是如果来自用户的输入),你需要先转义它。