一尘不染

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

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();
%>

阅读 268

收藏
2020-06-08

共1个答案

一尘不染

我尝试了您问题中的代码,而jQuery.parseJSON()代码引发了以下错误:“
SyntaxError:JSON.parse:意外字符”。在调试时,我看到了tomcat生成的servlet代码包括out.write(“ \ r \
n”); 我怀疑这些字符正在引起语法错误。

不过,在javascript中,我尝试使用点表示法访问返回的对象而不对其进行解析,因此能够将其视为JSON对象。似乎没有必要解析返回的对象。

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

2020-06-08