如何在响应时处理ajax错误
How to handle ajax errors on response.
我有一个单页订单。用户填写我们的表单,javascript验证所有内容,如果它通过了ajax请求,将在客户点击提交时通过Stripe向服务器收费。
如果充电成功,json将返回到ajax请求({success:true}
)。然后,用户被重定向到一个成功页面,或者如果在给卡充电时发生了什么事情,则会显示一个错误。
我试图处理一个(罕见的)问题,即用户的请求到达服务器,用户成功收费,但在响应时,用户收到错误(很可能是移动/不稳定连接上的超时错误)。如何防止用户被双重收费?下面是我的ajax请求,但也许我需要重新思考我的整个基础架构?
$.ajax({ type : 'POST',
url : '/order',
data : $(':input').serialize(),
timeout : 30000,
dataType : 'json',
success : function (data) {
// redirect user to success page
window.location = '/completed';
},
error: function(xhr,status,error) {
// report the error to user.
} });
试试这个。。
$.ajaxSetup({
type : 'POST',
url : '/order',
data : $(':input').serialize(),
timeout : 30000,
dataType : 'json',
success : function (data) {
// redirect user to success page
window.location = '/completed';
},
error: function(xhr,status,error) {
if (xhr.status == 408) {//For Timeout
alert("Sorry, Request timeout.!");
window.location.href ="//specify a redirect url//";
}
else {
alert("An error occurred: " + status + "nError: " + error);
}
} });
相关文章:
- 如何处理Ajax.BeginForm()OnError OnFailure回调
- Masony无法处理ajax响应
- 如何在phonegap应用程序中处理Ajax json响应
- 在嵌套循环中处理 AJAX (Angularjs)
- 运行 AJAX 需要什么 - 将 jQuery 添加到页面处理 AJAX 调用
- 在 Rails 中处理 ajax 请求
- 为什么不允许在jquery数据表服务器端处理ajax中使用成功
- JQuery无法处理ajax返回的内容
- 处理AJAX回调
- 难以处理ajax调用
- 额外的层可以更好地处理ajax调用
- 如何在响应时处理ajax错误
- DROPZONE - 在 fle 上传期间处理 AJAX 请求中的会话超时
- 在快递中.js有没有办法同时处理 ajax 表单提交和浏览器帖子提交
- 动态处理 ajax 结果
- 如何在没有jQuery的情况下处理Ajax浏览器兼容性
- CakePHP - 处理 ajax 调用中的 url
- 当服务器没有响应时如何处理 ajax 调用
- 全局和特定错误处理 AJAX jQuery
- 处理 AJAX 调用的 Web 工作人员 - 优化矫枉过正