是否可以在一个JSP中对另一个JSP进行jQuery ajax回调并返回数据?
我试图在Page1.jsp中的$(document).ready调用中对Page2.jsp进行ajax调用 我试图通过“Page2.jsp”
返回JSON我在本地运行Tomcat进行测试。 我看到JSON打印到控制台,但没有返回到Page1.jsp
中的原始调用方法有什么想法吗?
的Page1.jsp
$(document).ready(function(){
$.ajax({
url : 'Page2.jsp',
dataType: 'json',
success : function(json)
{
var obj = jQuery.parseJSON(json);
}
});
});
Page2.jsp
<%@page contentType="application/json; charset=UTF-8"%>
<%@page import="org.json.simple.JSONObject"%>
<%
JSONObject json = new JSONObject();
json.put("amount","55.00");
json.put("tax","1.00");
String jString = JSONObject.toJSONString(json);
PrintWriter out = response.getWriter();
out.println(jString);
out.close();
%>
答案 0 :(得分:1)
我在您的问题中尝试了代码并且jQuery.parseJSON()代码抛出以下错误:“SyntaxError:JSON.parse:unexpected character”。在调试时我发现tomcat生成的servlet代码包含out.write(“\ r \ n”);我怀疑这些字符导致语法错误。
然而在javascript中,我尝试使用点表示法访问返回的对象而不解析它,我能够就好像它是一个JSON对象。似乎没有必要解析返回的对象。
我对JSP代码的唯一修改是删除行PrintWriter out = response.getWriter();和out.close();