I don't understand this error .
I use codeigneter and 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 ');
}
ajax_post.php // is 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>';
}
$('#output_test').html('<h2>Error !!!!: ' + xhr.statusText +'</h2>'+thrownError);
alert(xhr.responseText);
alert(xht.responseText); It ok . It can send responseText (no error)
and Why cannot use success: saveShowResponse,
This error means that the response coming back from your URL is not JSON, there's an error attempting to parse it as such.
Either look in your network panel (easier), or adjust your error handler to see what response your server is actually returning, by looking at the responseText
like this:
$('#output_test').html('<h2>Error !!!!: ' + xhr.statusText +'</h2>'+thrownError);
alert(xhr.responseText);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With