Java 通过调用AJAX将JSON实例获取到jsp

Java 通过调用AJAX将JSON实例获取到jsp,java,jquery,ajax,json,Java,Jquery,Ajax,Json,我从助手类中的bean中获得jsonobject 内部助手 然后,我需要在加载jsp时通过ajax请求访问jsp调用中的JSONObject(分配javascript变量,如bellow) 内部jsp 以前我有一个这样的代码 <script type="text/javascript"> var VAR_JSON = <%=helper.init()%> </script> var va

我从助手类中的bean中获得jsonobject

内部助手

然后,我需要在加载jsp时通过ajax请求访问jsp调用中的JSONObject(分配javascript变量,如bellow)

内部jsp

以前我有一个这样的代码

<script type="text/javascript">
    var VAR_JSON = <%=helper.init()%>                               
</script>

var var_JSON=
我如何通过AJAX实现这一点


提前谢谢

首先,停止思考JSP。JSP是处理请求时在服务器上执行的(部分)。然后返回对浏览器(通常是网页)的响应;JavaScript(以及AJAX请求)在该网页的用户浏览器中运行,而不是在JSP中运行

jQuery提供了一个专门为通过AJAX请求获取JSON而设计的函数;它叫。你可以这样使用它:

<script type="text/javascript">
    $(document).ready(function() {
        var VAR_JSON;
        function yourFunction() {
            // do something with VAR_JSON here
        }

        $.getJSON('yoururl.do', function(response) {
            VAR_JSON = response;
            yourFunction();
        });
    });
</script>

$(文档).ready(函数(){
var var_JSON;
函数yourFunction(){
//在这里使用VAR_JSON做一些事情
}
$.getJSON('yoururl.do',函数(响应){
VAR_JSON=响应;
yourFunction();
});
});
需要注意的是,您不能执行
var var_JSON=$.getJSON()
,因为函数是异步的,因此不会返回JSON(它返回其他内容-请参阅上面链接的文档)。相反,您需要提供一个回调函数,该函数将在异步请求返回成功响应时执行,然后该函数将设置您的变量并调用使用它的另一个函数


还要注意的是,您不需要调用类似于
JSON.parse()
的东西,因为jQuery会为您这样做;您已经告诉它您希望返回JSON,因此它将解析该字符串以获得结果对象或数组,然后将其作为参数传递给回调函数。

使用
JSON
选项尝试$.ajax,并在
url:
struts 1中如何转发JSON对象而不是jsp。我是java新手,所以请帮助我please@user1727557我个人使用,这是一组用于生成JSON的JSP标记。您需要在Struts中为您的操作添加一个新的转发,该转发指向JSP以生成JSON,而不是为您的网页生成标准JSP。
<script type="text/javascript">
    var VAR_JSON = <%=helper.init()%>                               
</script>
<script type="text/javascript">
    $(document).ready(function() {
        var VAR_JSON;
        function yourFunction() {
            // do something with VAR_JSON here
        }

        $.getJSON('yoururl.do', function(response) {
            VAR_JSON = response;
            yourFunction();
        });
    });
</script>