HTML页面被附加到json响应

时间:2017-08-24 12:57:36

标签: javascript java jquery json ajax

我发送了一个json结果作为回应。在javascript方面,html页面会在json之后附加。

 HttpServletResponse response = ServletActionContext.getResponse();
 response.setContentType("application/json");
 JSONObject jsonObject = new JSONObject();
 jsonObject.put("success",true);
 response.getWriter().write(jsonObject.toString());

在js方面,下面是代码:

$.ajax({
type: "POST",
url: "saveFullAdresss?ajax=true",
data: postData,
success: function(result){
if (result["success"]) {
      $(".alert").css("display", "block").addClass("alert-
       success").html("Successfully set status!");
      $('html, body').animate({scrollTop: 0}, 'slow');
       window.location = document.referrer;
} else {
      var except = "";
      $(".alert").css("display", "block").addClass("alert-
       danger").html("Error while saving status!! " + except);
      $('html, body').animate({scrollTop: 0}, 'slow');
 }
},
error: function(result){
    $(".alert").css("display", "block").addClass("alert-
     danger").html("Could not figure out what happend!!");
    $('html, body').animate({scrollTop: 0}, 'slow');
                    },
});

在成功的过程中,我获得了附加success:true的html页面响应。有些人可以让我知道为什么会这样,以及如何解决这个问题。

Following is the result that I am getting

以下是响应标签的屏幕截图:

enter image description here

2 个答案:

答案 0 :(得分:0)

在将json数据返回给AJAX调用之后尝试放置die()

例如:在PHP中

echo $ json_data; 模具();

答案 1 :(得分:0)

如果您要发送json作为结果,请尝试在ajax调用dataType: "json",中使用数据类型更新您的js

$.ajax({
type: "POST",
url: "saveFullAdresss?ajax=true",
data: postData,
dataType: "json",
success: function(result){
 ...
},...

在您的网址中,与saveFullAdresss关联的控制器或核心服务器代码将继续执行,即您在网站上获取html内容。您是否可以检查您的请求的后端服务器代码,并在响应后通过die();方法或return语句停止继续执行。谢谢,希望这会有所帮助。