Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在ajax调用中没有得到成功响应,每次都转到错误函数_Java_Jquery_Ajax_Servlets - Fatal编程技术网

Java 在ajax调用中没有得到成功响应,每次都转到错误函数

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

我试图从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调用的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,那就太好了。