【jQuery】ajax请求成功,状态却是200

AJAX状态为200,这类状态代码表明服务器成功地接受了客户端请求。简单的来说成功发送一个AJAX请求,但是就是不进入success事件,进入error事件。

    $.ajax({
        type: 'GET',
        url: 'getEstimatePDFPath.php',
        headers: { "token": token },
        dataType: 'json',
        success: function(resp) {
            if (resp) {
                alert(resp);
            }
        },
        error: function(xhr, status, error) {
            var errorMessage = xhr.status + ': ' + xhr.statusText
            console.log('Error - ' + errorMessage);
        },
        data: { key_1: key1, key_2: key2, tokenset: true },
        async: false
    });

 

出错原因:dataType:"json",而后台返回的数据不符合json规范。

解决方法:

  1、将dataType设置为text

  2、另一种方法修改后台返回值

    header('Content-Type: application/json; charset=utf-8');
    echo json_encode($m_empty);