I need some suggestions here or maybe some explanations. I have a jquery ajax call,
$.ajax({
type: \"GET\",
url: base_url+\'/ajax/fetch/counts/\',
dataTyp
Just an suggestion, try using the $.ajaxSetup() to get the correct error like this:
$(function() {
$.ajaxSetup({
error: function(jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}
});
});
A recent question had similar problem with json
jquery requests, try removing surrounding ()
from your json response.
I'm not a jQuery expert, but I know that bwith Prototype.js, the AJAX error handler fires if the request is successful but the success
handler causes an an error. Is that the same in jQuery? You could test if this is what's happening by putting the entire contents of display_counts
in a try..catch block.
Error callback is called on http errors, but also if JSON parsing on the response fails. This is what's probably happening if response code is 200 but you still are thrown to error callback.
Change dataType
from plain/text
to html
A few things I can think of:
cache: false
.