Java 在ajax调用中没有得到成功响应,每次都转到错误函数
我试图从servlet获取json数据,从后端我得到了正确的响应,但每次调用都会导致ajax调用的错误块。 以下是我的JS代码:Java 在ajax调用中没有得到成功响应,每次都转到错误函数,java,jquery,ajax,servlets,Java,Jquery,Ajax,Servlets,我试图从servlet获取json数据,从后端我得到了正确的响应,但每次调用都会导致ajax调用的错误块。 以下是我的JS代码: $(document).ready(function() { $("#submit").on("click", function() { userId = $("#userNameTxt").val(); seqAns = $("#seqAnsTxt").val(); seqQues = $("#se
$(document).ready(function()
{
$("#submit").on("click", function()
{
userId = $("#userNameTxt").val();
seqAns = $("#seqAnsTxt").val();
seqQues = $("#seqQues").val();
command = $("#_CMD").val()
alert(command);
$.ajax({
type : "POST",
dataType : "json",
url : "/Inventory/InvController",
data : {_CMD : command, uid : userId, ques : seqQues, ans : seqAns},
success : function(retVal)
{
alert("success");
var test = $.parseJSON(retVal);
if(true)
{
$("#resetPwd").show();
}
},
error: function(error)
{
alert("error");
}
});
});
});
以下是我的Servlet代码:
boolean isSuccess = logHelper.performForgotPwdValidation(agentDetails);
PrintWriter out = null;
JsonObject jsonObj = new JsonObject();
try
{
jsonObj.addProperty("isValid", isSuccess);
response.setContentType( "application/json" );
response.setCharacterEncoding("UTF-8");
out = response.getWriter();
out.write(jsonObj.toString());
out.flush();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if( null != out )
{
out.close();
}
}
在每次运行时,它都会转到ajax调用的error函数
如果我做错了什么,请帮忙。
提前感谢。您的数据类型是JSON,但您的数据只是一个JavaScript对象。在数据周围使用JSON.stringify(),使其成为有效的JSON数据。(更改为JSON.stringify({u CMD:command,uid:userId,ques:seqQues,ans:seqAns}))您的数据类型是JSON,但您的数据只是一个JavaScript对象。在数据周围使用JSON.stringify(),使其成为有效的JSON数据。(更改为JSON.stringify({u CMD:command,uid:userId,ques:seqQues,ans:seqAns}))而不是alert(“error”),为什么不控制台.log(error)并将其添加到您的问题中?之前我还使用了控制台.log(error)。在conse中,我收到以下消息:Object{readyState:4,responseText:“↵ ↵ ↵ ↵ ↵因此,状态代码为200表示实际发布有效。请参阅下面的答案,并尝试包装您的数据,因为它现在是一个普通的JS对象,不是有效的JSON。与其发出警报(“错误”),不如使用console.log(error)并将其添加到您的问题中?以前我也使用console.log(error)。在conse中,我收到以下消息:object{readyState:4,responseText:“↵ ↵ ↵ ↵ ↵因此,状态代码为200表示实际发布有效。请参见下面的答案并尝试包装您的数据,因为它现在是一个普通的JS对象,不是有效的JSON。它仍然不起作用……我的servlet代码中有任何问题吗?@JakeRowsellIt可能值得添加Java或servlet标记,因为我不知道这些。删除数据类型后:“JSON”,并将response.setContentType(“application/json”);更改为response.setContentType(“text/plain”);我能够将调用重定向到success回调函数。但是如果有人能让我知道如何从servlet发送json数据并从JS检索json,那就太好了。它仍然不起作用……我的servlet代码中有什么问题吗?@JakeRowsellIt可能值得添加Java或servlet标记,因为我不知道这些。删除dat之后aType:“json”,来自我的JS代码,并将response.setContentType(“application/json”);更改为response.setContentType(“text/plain”);我能够将调用重定向到success回调函数。但如果有人能让我知道如何从servlet发送json数据并从JS检索json,那就太好了。