一个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(); %>
我尝试了您问题中的代码,而jQuery.parseJSON()代码引发了以下错误:“ SyntaxError:JSON.parse:意外字符”。在调试时,我看到了tomcat生成的servlet代码包括out.write(“ \ r \ n”); 我怀疑这些字符正在引起语法错误。
不过,在javascript中,我尝试使用点表示法访问返回的对象而不对其进行解析,因此能够将其视为JSON对象。似乎没有必要解析返回的对象。
我对JSP代码所做的唯一修改是删除了行PrintWriter out = response.getWriter();。和out.close();