jQuery AJAX - 意外的令牌+ parsererror

Sky*_*man 15 ajax jquery xmlhttprequest parse-error

我今天用jQuery和AJAX写了一个脚本,我得到了一些错误......

剧本:

function changeAdmin(id) {
$(document).ready(function() {
    $('#ta-modarea-'+id).fadeOut('fast');
    $('#ta-m-loading-'+id).fadeIn('fast');

    $.ajax({
        type: 'POST',
        url: 'ajax_utf.php?a=changeteamadmin',
        dataType: 'json',
        data: {
            admin : $('#admin-id-'+id).val()
        },
        success: function(data) {
            $('#ta-m-loading-'+id).fadeOut('fast');
            $('#ta-modarea-'+id).text(data.msg).fadeIn('fast');
        },
        error: function(jqXHR, textStatus, errorThrown) {
            $('#ta-m-loading-'+id).fadeOut('fast');
            $('#ta-modarea-'+id).text('HTTP Error: '+errorThrown+' | Error Message: '+textStatus).fadeIn('fast');
        }
    });

    return false;
});
}
Run Code Online (Sandbox Code Playgroud)

运行后,我收到此错误消息: HTTP Error: SyntaxError: Unexpected token < | Error Message: parsererror

你能帮帮我吗,我该怎么办?

Wro*_*ong 7

您需要application/json通过PHP 发送标头,如下所示:

header('Content-type: application/json');
Run Code Online (Sandbox Code Playgroud)

那是因为jQuery发送了一个Accept header(application/json, text/javascript),这就是parseerror触发的原因jqXHR.


Alo*_*tan 3

尝试

 alert( jqXHR.responseText);
Run Code Online (Sandbox Code Playgroud)

在你的错误函数中