关于parsererror语法错误:意外的输入结束(带有Jquery和ajax的CI)

aCm*_*SQL 4 ajax jquery codeigniter

我不明白这个错误.

我使用codeigneter和Jquery&ajax

Error parsererror

personEdit.php

$(document).ready(function(){
    var options = {
        dataType :      'json',
        beforeSubmit:   saveShowRequest, // pre-submit callback
        success:        saveShowResponse,  //post-submit callback
        error: function (xhr, ajaxOptions, thrownError){
            //alert('Error !!'++ xhr.statusText);

            //alert(thrownError);
            $('#output_test').html('<h2>Error !!!!: ' + xhr.statusText +'</h2>'+thrownError );
        } 

        // other available options: 
        //url:       url         // override for form's 'action' attribute
        //type:      type        // 'get' or 'post', override for form's 'method' attribute 
        //dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
        //clearForm: true        // clear all form fields after successful submit 
        //resetForm: true        // reset the form after successful submit

        //$.ajax options can be used here too, for example: 
        //timeout:   3000   }; 
        $('#myEditPersonForm').ajaxForm(options); 

});


// pre-submit callback 
function saveShowRequest(formData, jqForm, options) { 
    // formData is an array; here we use $.param to convert it to a string to display it 
    // but the form plugin does this for you automatically when it submits the data 
    var queryString = $.param(formData); 

    // jqForm is a jQuery object encapsulating the form element.  To access the 
    // DOM element for the form do this: 
    // var formElement = jqForm[0]; 

    alert('About to submit: \n\n' + queryString); 

    // here we could return false to prevent the form from being submitted; 
    // returning anything other than false will allow the form submit to continue 
    return true; 
} 

// post-submit callback 
function saveShowResponse()  { 

    // if the ajaxForm method was passed an Options Object with the dataType 
    // property set to 'json' then the first argument to the success callback 
    // is the json data object returned by the server                

    //alert display
    alert('SUCCESS exemple return respone'); 

    //html display
    $('#output_test').html('SUCCESS exemple return respone ');
} 
Run Code Online (Sandbox Code Playgroud)

ajax_post.php //是CI

function update_person(){
    // set common properties            


    // run validation

        // save data
        $id = $this->input->post('id');
        $person = array('name' =$this->input->post('name'),
                        'gender' =$this->input->post('gender'),
                        'dob' =date('Y-m-d', strtotime($this->input->post('dob'))));
        $this->personModel->update($id,$person);

        // set user message
        $data['message'] = '<div class="success">update person success</div>';      
}
Run Code Online (Sandbox Code Playgroud)
$('#output_test').html('<h2>Error !!!!: ' + xhr.statusText +'</h2>'+thrownError);
alert(xhr.responseText);
Run Code Online (Sandbox Code Playgroud)

警报(xht.responseText); 没关系 .它可以发送responseText(没有错误)

为什么不能使用成功:saveShowResponse,

Nic*_*ver 9

此错误意味着从您的URL返回的响应不是 JSON,尝试解析它时出错.

您可以查看网络面板(更简单),或调整错误处理程序以查看服务器实际返回的响应,方法responseText如下:

$('#output_test').html('<h2>Error !!!!: ' + xhr.statusText +'</h2>'+thrownError);
alert(xhr.responseText);
Run Code Online (Sandbox Code Playgroud)