2016-05-31 80 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函數可能包含引號(特別是如果來自用戶的輸入),你需要先轉義它。

相關問題