在ajax调用中没有获得成功响应,每次都会出现错误函数

时间:2016-01-26 13:57:42

标签: java jquery ajax servlets

我正在尝试从servlet获取json数据,从后端我得到正确的响应,但每次调用时都会调用ajax调用的错误块。 这是我的JS代码:

$(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调用的错误函数。

如果我做错了什么,请帮忙。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您的数据类型是JSON,但您的数据只是一个JavaScript对象。在数据周围使用JSON.stringify(),这样它就是有效的JSON数据。 (更改为JSON.stringify({_ CMD:command,uid:userId,ques:seqQues,ans:seqAns}))