我想用新function(http://api.jquery.com/jQuery.ajax)对http状态代码(如200,201或202)作出反应。 但该function忽略了我的201和202回调。 firefox-4.0_b10和chromium-9.0会出现此错误 我期待着解决这个小问题。 关心斯特凡 我的代码剪了: jQuery.ajax({ url:url dataType:’json’, statusCode:{ 404:function(){alert(“404”); }, 200:function(){alert(“200”); }, 201:function(){alert(“201”); }, 202:function(){alert(“202”); } }, 成功:函数(数据){ switch(data.status){ 案例’完成’: / *显示给用户* / 打破; } });
我有一个Web应用程序,通过AJAX请求和发送数据,作为响应,我的服务器端发送HTTP状态代码,具体取决于具体情况。 因此,例如,如果用户在登录时尝试登录,我可能会返回400 HTTP status code 。 最后我用警报等处理它。 但处理这些HTTP状态代码变得太重,因为我正在大量使用AJAX。 这意味着我将使用每个AJAX请求重复处理HTTP状态代码,这将导致重复的代码,这是一个不好的做法。 所以, 我正在寻找的是一种在一个地方处理所有这些错误的方法,所以我只使用相同的代码处理所有401等。 我目前在做什么: 为每个AJAX调用手动处理错误。 通过使用$.ajax()的statusCode 。 statusCode: { 500: function(data) { alert(‘Some friendly error message goes here.’); } 对我来说,这似乎是一种矫枉过正,随着我的网络应用程序的发展,以及我创建更多的ajax调用。 我会一次又一次地重复这段代码。 目前,我唯一的想法就是创建一个可以在AJAX之上工作的函数,例如: function doAjax(type,url, data, moreVars) { //this function is just a SIMPLE example, could be more complex and flexible. $.ajax({ type: type, url: url, data: data, […]
在jquery Ajax调用中,我正在处理200和304的statusCode。但是我也定义了“错误”“捕获可能返回的任何错误。 如果存在相关的validation消息,则返回状态代码400 – 错误请求。 然后在进入我定义的statusCode“400”函数之前进入“错误”函数。 这意味着两个动作发生。 理想情况下,我不想定义“错误”和“成功”,只定义“statusCode”但我需要的是有一个“Else”,这样我就不需要声明每个只存在2-3个的statusCode想要区别对待。 $.ajax({ type: ‘POST’, contentType: “application/json”, url: “../API/Employees.svc/” + EmployeeId + “/Company/” + CompanyId, data: jsonString, statusCode: { 200: function () { //Employee_Company saved now updated hideLoading(); ShowAlertMessage(SaveSuccessful, 2000); $(‘#ManageEmployee’).dialog(‘close’); }, 304: function () { //Nothing to save to Employee_Company hideLoading(); $(‘#ManageEmployee’).dialog(‘close’); if (NothingToChange_Employee) { ShowAlertMessage(NothingToUpdate, 2000); } […]
我有以下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即。 请求没问题。 为什么是这样?