Tag: error handling

检查AJAX请求是否在jQuery中成功的最佳方法

通过这样做,我一直在检查以确保我的AJAX请求成功: $.post(“page.php”, {data: stuff}, function(data, status) { if(status == “success”) { //Code here } else { //Error handling stuff } }); 检查状态变量是执行此操作的最佳方式,还是有更好的方法来确保请求实际执行? 我正在考虑一个“成功”的请求是一个请求,命中我成功发布的页面没有超时(如果服务器已关闭,并且AJAX请求在它作为示例之前就已经发出)或返回任何有点404或500错误。

Javascript:如何阻止多个jQuery ajaxerror handling程序?

团队成员将此项目纳入我们的项目 $(function() { $(“body”).bind(“ajaxError”, function(event, XMLHttpRequest, ajaxOptions, thrownError){ alert(thrownError); }); } 但是我想压制我的一个错误(因为它会是噪音并且不需要validation) function blah() { … errFunc = function(event, xhr, opts, errThrown) { //what could I do here? //event.stopImmediatePropagation()? } $.ajax({ url : ‘/unimportant_background_refresh’, type : ‘GET’, data : { }, dataType : ‘json’, success : updateBackgroundStuff, error : errFunc, // Suppresses error message. }); […]

我怎样才能捕获jQuery AJAX错误?

将AJAX请求提交到站点时,可以使用jQuery promise方法轻松处理服务器端错误。 .done() .fail()等。但是对于某些请求(例如,对于无效站点或不接受跨源请求的站点),在进行调用时会立即发生exception。 以下是控制台中一个错误的示例: XMLHttpRequest无法加载http://someotherserver/api/blahblah 。 Access-Control-Allow-Origin不允许使用原始http://localhost:52625 。 是的,我知道CORS ……这不是问题。 我实际上在做的是尝试使用web api调用来测试服务器IP /名称是否正确 我知道jQuery请求语法中的error选项: $.ajax({ url: remoteURL, type: ‘GET’, error: function (err) { console.log(“AJAX error in request: ” + JSON.stringify(err, null, 2)); } }).etc.etc. 此处处理错误,但仍在控制台中记录exception。 将上面的内容包装在try-catch块中似乎是合理的,但这似乎没有帮助。 我发现了这个问题 ,但解决方案涉及破解jQuery代码。 当然有更好的方法来捕获这些错误,而不是堵塞控制台日志?

jQuery ajaxgenericserror handling和逐个案例

我有一个通用的ajaxerror handling程序,如下所示: $(‘html’).ajaxError(function(e, xhr, settings, exception) { var message = ”; if (xhr.status == 0) { message = ‘You are offline!\n Please check your network.’; } else if (xhr.status == 403) { window.location.href = $(‘#logon’).attr(‘href’); } else if (xhr.status == 404) { message = ‘Requested URL not found.’; } else if (xhr.status == 500) { […]

如何在PHP中获取有用的错误消息?

我觉得用PHP编程非常令人沮丧。 我经常尝试运行脚本,然后再回一个空白屏幕。 没有错误信息,只是空屏幕。 原因可能是一个简单的语法错误(错误的括号,缺少分号),或者函数调用失败,或者其他完全错误。 弄清楚出了什么问题是非常困难的。 我最终评论出代码,在所有地方输入“echo”语句,等等。试图缩小问题范围。 但肯定有一个更好的方法,对吗? 那么,有没有办法让PHP产生像Java那样有用的错误信息呢? 任何人都可以推荐良好的PHP调试技巧,工具和技术?

当http状态代码为“200 OK”时,为什么$ .ajax调用json数据会触发错误回调?

我有以下ajax请求: jQuery.ajax({ async: true, type: “GET”, url: url, data: data, dataType: “json”, success: function(results){ currentData = results; }, error: function(xhr, ajaxOptions, thrownError){ if (xhr.status == 200) { console.debug(“Error code 200”); } else { currentData = {}; displayAjaxError(xhr.status); } } }); 由于某种原因,错误回调被称为事件,虽然http状态代码是200即。 请求没问题。 为什么是这样?

客户端javascript的错误记录

我的项目包含很多带有表单的页面。 这是银行CRM系统的后端,因此可以捕获和调查工作过程中的任何错误。 在服务器端,我们有增强的javaexception系统,但如果在客户端发生错误 – javascript我们现在获得的唯一信息是IE中的js-error窗口或有时是高级用户制作的页面截图。 Javascript代码包含Jquery支持的UI扩展和硬编码的内联事件处理程序和函数。 所以我问是否可以使用任何捕获任何类型的js-errors的方法? 一些额外的库或某些东西可以给我一个像Mozilla中的firebug或Chrome中的web控制台的堆栈跟踪?

jQuery AJAXerror handling(HTTP状态代码)

我们有一个API,它使用正确的HTTP状态代码来处理错误,并使用JSON编码的响应和适当的Content-Type标头进行响应。 我的情况是jQuery.ajax()在遇到HTTP错误状态时触发error回调,而不是success回调,所以即使我们有一个可理解的JSON响应,我们也必须求助于这样的事情: $.ajax({ // … success: function(response) { if (response.success) { console.log(‘Success!’); console.log(response.data); } else { console.log(‘Failure!’); console.log(response.error); } }, error: function(xhr, status, text) { var response = $.parseJSON(xhr.responseText); console.log(‘Failure!’); if (response) { console.log(response.error); } else { // This would mean an invalid response from the server – maybe the site went down or whatever… […]

处理服务器端HTTP 4nn / 5nn错误在jQuery的ajax请求中返回整个HTML文档

要点:如何在jQuery的ajax请求中处理服务器端HTTP 4nn / 5nn错误? 这种情况涉及服务器端的JSP / Servlet Web应用程序。 在这里,我不是在讨论琐碎的运行时exception,例如NullPointerException等。 假设他们都处理完美。 这种HTTP 4nn / 5nn错误的一个很好的例子是401未授权(用户权限不足)和500内部服务器错误(数据库关闭,I / O错误, Error等)。 假设他们不能(或不应该)在编码级别被捕获。 现在我刚刚在web.xml为这些声明了一个 。 它基本上将请求转发到预定义的JSP / HTML错误页面,其中最终用户被告知发生了严重错误,并且用户可以联系xx@xx.xx以获得进一步的帮助。 同一页面还显示有关错误/exception的全局详细信息。 它在常规HTTP请求中完美运行,但是如何使用jQuery在XMLHtttp请求中处理它? 什么是最好的用户体验? 对我来说,它只是显示整个错误页面,就好像它是一个普通的HTTP请求。 我解决了它如下: function init() { $.ajaxSetup({ error: handleXhrError }); } function handleXhrError(xhr) { document.open(); document.write(xhr.responseText); document.close(); } 虽然它完美无缺,但我觉得它像黑客一样。 用HTTP错误页面的内容替换整个文档。 但这也是你会遵循的方式吗? 如果没有,你可以详细说明为什么不以及你更喜欢什么方式? 我看到的唯一选择是使用JS显示一些警告/消息框以通知用户有关不可解析的错误,但是用户可以将其解除并继续使用该页面,而这是不可能的。

使用JQuery的MVC:处理会话过期

我如何处理在某些页面上具有JQuery Ajax方法调用的MVC应用程序的会话到期。 问题如下: 当客户端达到会话超时时,我的每个控制器都会inheritance一个类,该类检查会话是否处于活动状态(查看某些内容,如站点会话,数据库会话等),并将客户端重定向到新页面,说明该会话到期; 但是当我使用JQuery ajax在某些按钮点击时调用控制器的方法时,情况就不同了,因为它会跳过inheritance类的validation并允许我留在页面上,但是当控制器试图结束执行时方法,显然它会抛出.Net错误:对象不是作为对象的实例创建的,没有找到会话变量等等都是因为因为异步方法调用而未处理的过期会话。 我怎么能处理这种行为,哪种是处理它的最佳方法(尽可能多地尝试不修改应用程序代码的这么多部分)? 提前致谢。 PD :告诉我使用Jquery的$.post()可能很有用。