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

  显示原文与译文双语对照的内容

我在 helper 类中从bean中获得了英镑的

在 helper 。


public JSONObject init() throws Exception{
//initializations codes are here
 JSONObject json = JSONObject.fromObject(bean);
 return json;
}

在加载jsp时,我需要通过ajax请求访问 上面 JSONObject inside ( 在加载变量时分配javascript变量) 。

在 jsp


$(document).ready(function(){
 var VAR_JSON =//need to get the JSON through AJAX
});

以前我有这样的代码。


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

如何通过AJAX实现这一点?

请提前致谢 !

时间: 作者:

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

jQuery通过AJAX请求提供了专门用于获取JSON的函数;它是调用 jQuery.getJSON() 你会用到这样的东西:


<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>

重要的是你不能做 var VAR_JSON = $.getJSON() 由于函数是异步的,因此不返回 JSON ( 它返回其他内容- 见上面链接的文档) 。 你需要提供一个回调函数,该函数将在异步请求返回成功响应时执行,然后调用它的另一个函数。

还要注意,你不需要调用类似于 JSON.parse() 这样的东西,因为jQuery对你进行了处理;你告诉它你期望JSON返回,然后将它的作为参数传递给回调函数。

作者:
...