如何使用Ajax Post的响应

enb*_*081 -1 javascript ajax jquery post

我发一个ajax POST请求将JSON数据发布到服务器,我得到一个简单的文本响应.我可以看到一切正常,因为它显示在浏览器的调试器中.但是,我不能使用它.

    callajax1(Callback);


    function callajax1(callbackfn) {   
    $.ajax({
        type: "POST",
        url: myUrl,
        data: JSON.stringify({ Data: data }),
        contentType: "text/plain; charset=utf-8",
        dataType: "json",
        success: function (data2) {
            callbackfn(data2);
        },
        failure: function (errMsg) {

        }
    });
    return false;
}


function Callback(data) {
    alert(data);
}
Run Code Online (Sandbox Code Playgroud)

没有显示警报.

Que*_*tin 5

你说你得到了一个"简单的文本响应",但你的JavaScript(dataType: "json")说要忽略响应的内容类型并将其解析为JSON.

也许(因为您发送JSON并声称它是纯文本)您会感到困惑dataType(覆盖服务器返回的内容类型)和contentType(描述您要发送的数据).

如果响应是"简单文本"而不​​是JSON,那么您无法将其解析为JSON.要么返回JSON,要么使用dataType: 'text'.