解决AJAX返回状态200没有调用success的问题

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/TTTZZZTTTZZZ/article/details/84889424

今天在做个demo的时候,发现ajax获取状态为200,可是却没有执行正确的方法。
附上之前代码

function sub() {
    let json={
        "title":$("#title").val(),
        "content":$("#content").val(),
        "name":$("#name").val(),
        "telephone":$("#telephone").val(),
        "email":$("#email").val(),
    };
    $.ajax({
        url:"http://127.0.0.1:8088/sendMessage",
        type:"POST",
        data:JSON.stringify(json),
        contentType:"application/json",

        success:function () {
            alert("发表成功")
        },
        error: function(XMLHttpRequest) {
            console.log("错误状态:"+XMLHttpRequest.status);
        }
    });
}

后来发现SpringMVC利用注解@ResponseBody返回String时,浏览器显示200状态码,并且响应头为json格式,格式ajax不认为它是json,所以一直执行错误方法

后来把dataType=“json”去掉就OK了!

猜你喜欢

转载自blog.csdn.net/TTTZZZTTTZZZ/article/details/84889424