如何让Asp.net将Ext JS表单提交识别为Ajax请求?

时间:2011-01-19 16:05:33

标签: asp.net asp.net-mvc ajax extjs form-submit

似乎默认情况下,Asp.net不会将Ext JS getForm().submit()调用识别为ajax请求。这对我来说是一个问题,因为如果请求是通过Ajax发出的,我试图返回JsonResult而不是视图。

但是,当调用以下内容时

        this.getForm().submit({
            url: url,
            waitMsg: 'Saving Request Details',
            scope: this,
            success: function (form, o) {
                ...
            },

            failure: function (form, o) {
                ...
            }
        });

在被调用的Asp.net MVC操作中,HttpContext.Request.IsAjaxRequest()返回false。

如何使Asp.Net正确地将请求识别为ajax请求?

2 个答案:

答案 0 :(得分:2)

该扩展名在标题或“X-Requested-With”键的请求集合中查找值,其值为“XMLHttpRequest”。您必须在发出请求时设置该值,因为看起来extJS似乎不是。

尝试在表单结果中包含一个X-Requested-With条目,看看是否可以解决这个问题。

HTH。

答案 1 :(得分:2)

你总是可以添加隐藏的参数,以确定这个请求是通过AJAX