我发送了一个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页面响应。有些人可以让我知道为什么会这样,以及如何解决这个问题。
以下是响应标签的屏幕截图:
答案 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
语句停止继续执行。谢谢,希望这会有所帮助。