Javascript 当请求被破坏时,如何返回ajax错误?

Javascript 当请求被破坏时,如何返回ajax错误?,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我正在一个Django网站上工作,该网站有许多返回json数据的Web服务(Rest/活塞) 这是调用webservice的函数;它有时工作正常,但在某些错误中,它不会返回错误消息,只返回“undefined error”。 如何查看错误消息或知道错误是什么 function ws(p_url, p_json, p_type, p_auth, p_before, p_success, p_finally, p_async) { dict = { url : p_url,

我正在一个Django网站上工作,该网站有许多返回json数据的Web服务(Rest/活塞)

这是调用webservice的函数;它有时工作正常,但在某些错误中,它不会返回错误消息,只返回“undefined error”。 如何查看错误消息或知道错误是什么

function ws(p_url, p_json, p_type, p_auth, p_before, p_success, p_finally, p_async) {
    dict = {
       url : p_url,
       beforeSend : function(request) {
          request.setRequestHeader('Authorization', p_auth);
          eval(p_before);
       },
       cache : false,
       type : p_type,
       data : p_json,
       async : false,
       contentType : 'application/json; charset=utf-8',
       processData : false,
       dataType : 'json',
       timeout : 10000,
       success : function(json, textStatus) {
          eval(p_success);
       },

       error: function(e) {     
          alert("Error "+e.responseText);
          return false;
       },
       complete: function(XMLHttpRequest, status) {
          alert("Complete");
       }
   };
   $.when(
       $.ajax(dict) ).done(function(){
          eval(p_finally);
          preLoader.fadeOut(300);
          return resposta;
       }).fail(function(fail_msg){
          alert("Fail: "+fail_msg);
       }
   );
};

您的Web服务是否返回json消息“undefined error”?如果是这样,那么您的问题可能在服务器端始终是未定义的。那不应该是
e.responseText
?检查
参数[1]
参数[2]
@KevinB的值也会有帮助是的,它是。我尝试了很多方法,但复制源代码时出错了。我尝试过使用responseText和arguments[x],但总是返回未定义的。@JustinGingyMcDonald当我直接访问Web服务(通过GET或POST)或通过Firefox调试(XHR请求)时,它返回json,但它在error函数中输入,而不是在“Success”函数中获取值。@Jx\,如果服务器返回一个成功的http状态代码,并且您能够通过调试器查看响应内容,但是调用了错误处理程序,那么可能是响应不是有效的JSON。您是否尝试过使用验证JSON响应?