如何从JSP页面访问在JavaScript中使用的变量?

3

我在我的网页中使用ajax。我想通过jsp页面访问在html头部分的javascript函数中使用的变量。Jsp页面正在使用该变量从数据库检索数据。

我该如何做到这一点?

请帮助我。


尝试改进您的问题以获得更好的答案:http://stackoverflow.com/questions/how-to-ask - Bob Davies
4个回答

2

如果需要调用数据,您将设置 & 或事先为空的变量。我发现的是,即使声明了新变量,Ajax 也会将其本地化,最好的方法是附加到现有的变量。现在使用新字符串和 / 或文字数组 / 对象。

 <script>
     function s(e){
      alert(e);
     }

      var a = '';

    //Jquery Version
     $.get('test.php',function(data){
       a += data;
      s(a);
      });

    // Javascript Version
      function ajaxFunction(){
        var ajaxRequest;  // The variable that makes Ajax possible!

        try{
            // Opera 8.0+, Firefox, Safari
            ajaxRequest = new XMLHttpRequest();
        } catch (e){
            // Internet Explorer Browsers
            try{
                ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try{
                    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e){
                    // Something went wrong
                    alert("Your browser broke!");
                    return false;
                }
            }
        }
        // Create a function that will receive data sent from the server
        ajaxRequest.onreadystatechange = function(){
            if(ajaxRequest.readyState == 4){

                a += ajaxRequest.responseText;
                s(a);
            }
        }

        ajaxRequest.open("GET", "test.php" , true);
        ajaxRequest.send(null); 
    }

    $(function(){
    ajaxFunction();
    });
    //-->
    </script>

我相信我读错了问题,哈哈,你是想捕获查询变量吗? - Lewis E

1

您可以通过发起一个 ajax 调用并将该变量作为 ajax 请求的参数来轻松实现此操作。

<script>
var id=1;

$.get("yourpage?id="+id,function(){

//get this id serverside using `get` 
})

</script>

1

您可以通过添加新的JSP文件来完成,流程如下:

  1. 创建一个新的JSP文件,例如databaseOperation.jsp,其中包含检索数据库记录的代码。
  2. 通过JavaScript函数调用databaseOperation.jsp文件并传递您的JavaScript变量。

  3. 在您的JSP文件中访问此变量并从数据库中检索所需的代码。


如何在 JSP 文件中访问此变量? - princess

0

你需要改变你的方法来完成这个任务。我们不能将JavaScript变量值设置为写在JSP文件中的数据库代码。这是因为,数据库代码将从服务器端呈现,并且只有HTML将被发送到客户端。

您可以通过具有异步支持的控制器(Servlet)来实现此目的,并在您的JSP文件中通过JavaScript AJAX调用此控制器并操作HTML DOM以满足您的要求。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接