如何在 javascript 函数中访问 java 变量

How to access to a java variable in javascript function

本文关键字:访问 java 变量 函数 javascript      更新时间:2023-09-26

我有一个名为myJavaFile.java的java文件。在这个java文件中,我有以下java代码:

private void addUploadscript() {
      //my java variable
    String fn = session.getUser();
    html.addElement("<script language='"JavaScript'" type='"text/javascript'">");
    html.addElement("function ajax_post(){");
    html.addElement("var hr = new XMLHttpRequest();");
    html.addElement("var url = '"http://localhost:8080/bunk/inf?cmd=Dialer.opts#'";");
    html.addElement("var vars = '"firstname='"+fn;");
    html.addElement("'talert(vars)"); 
    html.addElement("hr.open('"POST'",url,true);");
    html.addElement("hr.setRequestHeader('"Content-type'",'"application/x-www-form-urlencoded'");");
    html.addElement("hr.onreadystatechange = function() {if (hr.readyState == 4 && hr.status == 200) {var return_data = '"my server is reached'";document.getElementById(status).innerHTML = return_data;} } ");
    html.addElement("hr.send(vars);");
    html.addElement("document.getElementById(status).innerHTML = '"processing....'";");
    html.addElement("}");
    html.addElement("</SCRIPT>");
}

我已经尝试通过阅读其他主题来找到我的答案,但我仍然无法解决我的问题。我实际上尝试逐步完成并显示我的变量,以确保我写得一切正常。

非常感谢您的帮助!

我相信你想直接输出fn,比如

html.addElement("var vars = '"firstname=" + fn + "'";");

Javascript 允许您对 String 使用 '",您也可以使用 String.format(String, Object...) 。喜欢

html.addElement(String.format("var vars = 'firstname=%s';", fn));

您应该更改代码的这一部分:

html.addElement("var vars = '"firstname='"+fn;");

为此:

html.addElement("var vars = '"firstname='"" + fn + "'";");

只需在所有代码中使用单个 qoute '而不是'",这将使它更干净,并替换这部分:

html.addElement("var vars = '"firstname='"+fn;")

由:

html.addElement("var vars = 'firstname='+fn;")

希望这有帮助。