php - how jquery ajax fail callback gets triggered if server returns status 200 -


when php's e_fatal error occurs server returns respons status 200 , responsetext: "↵fatal error: error description. however, jquery's ajax triggers fail callback instead of done. why? status 200 should call done callback.

var jquerydeferred = $.ajax({     method: "post",     url: url,     datatype: "json",     data: data })  jquerydeferred.done(function (response) {     if (response.statuscode === 301) {         window.location.assign(response.data || "/");         return;     } else {         customdeffered.resolve(response);     } }).fail(function (response) {     customdeffered.resolve(response); // callback called }); 

the jquery's ajax triggers fail callback instead of done. why?

because expected return type (like json, text, html etc.) not required.

consider example:

$.ajax({     url : "your url",     type : "post",     datatype : "json",     success: function(response){        console.log(response);     },     error: function(error){        alert(error.responsetext);     } }); 

if return json object specified url success block , print response in browser's console.

but if there error , if returning string instead of json go error block.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -