首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$.ajaxSetup for Ajax.BeginForm

$.ajaxSetup for Ajax.BeginForm
EN

Stack Overflow用户
提问于 2012-07-06 22:20:32
回答 3查看 2.1K关注 0票数 5

$.ajaxSetup用于jquery中的ajax调用。如果我们使用jquery,这是非常好的。

但是在MVC中,我们使用Ajax.BeginForm() .the回调处理程序OnFailure、OnSuccess、OnBegin。

我们是否可以将$.ajaxSetup用于Ajax.BeginForm()。

更新

例如,我已经在10个地方使用了Ajax.BeginForm(),但是我不想编写所有的OnFailure处理程序,我只想在公共的地方编写一个通用的OnFailure,比如jQuery$.ajaxSetup。有办法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-07 07:48:12

引用$.ajaxSetup的文档

注意:全局回调函数应该使用它们各自的全局Ajax事件处理程序方法-- .ajaxStart()、.ajaxStop()、.ajaxComplete()、.ajaxError()、.ajaxSuccess()、.ajaxSend() --而不是在$.ajaxSetup()的options对象中设置。

因此,按照建议,如果要全局处理所有AJAX错误,请使用相应的全局AJAX事件处理程序 (例如.ajaxError() ):

代码语言:javascript
复制
$(document).ajaxError(function () {
    console.log('oopsy');
});
票数 2
EN

Stack Overflow用户

发布于 2014-04-22 04:46:28

我正在回顾微软的代码和库,以使与ajax进行通信的是jquery.unobtusive-ajax.js,在该文件中,他们重新编写了发出请求的主要功能,但是只有一些选项。但是,如果他们使用jquery,为什么需要修改jquery呢?当然,有了这个密码,所有的全球强子都关闭了。

我做了一点小小的修改并不酷,但是很有效,用更多的时间我会用一个更干净的解决方案来更新这个。

打开文件jquery.unobtusive-ajax.js.

转到function asyncRequest,在$.extend选项中,您将看到四个事件-- beforeSend,完全、成功和错误--您可以在那里引发全局触发器。

原始代码:

代码语言:javascript
复制
complete: function () {
            loading.hide(duration);
            getFunction(element.getAttribute("data-ajax-complete"), ["xhr", "status"]).apply(this, arguments);
        },

修改后的代码:

代码语言:javascript
复制
complete: function () {
            loading.hide(duration);
            getFunction(element.getAttribute("data-ajax-complete"), ["xhr", "status"]).apply(this, arguments);
            $(document).trigger('ajaxComplete');
        },
票数 1
EN

Stack Overflow用户

发布于 2012-07-06 22:30:49

您应该考虑使用ajax选项:

定义:

代码语言:javascript
复制
@{
 AjaxOptions ajaxOpts = new AjaxOptions
 {
    LoadingElementDuration = 2,
    LoadingElementId = "someElementIdToShowLoading",
    UpdateTargetId = "ElementIdToLoadTo"
 };
}

所用:

代码语言:javascript
复制
@using (Ajax.BeginForm("ActionName", ajaxOpts)){}

有关完整列表,请参见此处:properties.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11370394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档