将JSON从一个JSP返回到另一个JSP?

时间:2013-05-22 16:48:08

标签: json jsp

是否可以在一个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();
%>

1 个答案:

答案 0 :(得分:1)

我在您的问题中尝试了代码并且jQuery.parseJSON()代码抛出以下错误:“SyntaxError:JSON.parse:unexpected character”。在调试时我发现tomcat生成的servlet代码包含out.write(“\ r \ n”);我怀疑这些字符导致语法错误。

然而在javascript中,我尝试使用点表示法访问返回的对象而不解析它,我能够就好像它是一个JSON对象。似乎没有必要解析返回的对象。

我对JSP代码的唯一修改是删除行PrintWriter out = response.getWriter();和out.close();