首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JQuery MVC表单发布的Ajax

使用JQuery MVC表单发布的Ajax
EN

Stack Overflow用户
提问于 2013-04-26 03:25:27
回答 3查看 785关注 0票数 2

我是一个完全的Ajax新手,我发现自己有点迷失在如何最好地处理事情上,我一直在寻找,并找到了一篇关于Ajax的帖子,其中包括这个JavaScript:

代码语言:javascript
复制
$(function () {
    $('form').submit(function () {
        if ($(this).valid()) {
            $.ajax({
                url: this.action,
                type: this.method,
                data: $(this).serialize(),
                success: function (result) {
                    $('#result').html(result);
                }
            });
        }
        return false;
    });
});

我将它合并到我的脚本文件中,在我的网站的一个页面上的一个表单,并很快意识到这实际上附加到所有的表单,整个网站包括登录表单。

我希望将登录表单视为特殊情况,并实际执行重定向,而不是简单地将返回的HTML片段插入到页面上的元素中。

我假设用登录表单的ID替换' form‘会将登录表单与’常规‘表单处理过程区分开来,我想知道这方面的最佳实践是什么。

你有没有像上面这样的“通用”Ajax处理程序,或者根据表单对响应的需要,为每个表单提供特定的JavaScript函数会更好?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-26 03:33:38

在我看来,对于本应本地化的情况,您似乎包含了一些通用的东西。在我看来,像这样的包罗万象的方法并不是真正可取的,特别是对于将影响应用程序中的每个表单的东西。

其中真正需要去掉的是$.ajax代码。如果需要,可以使用ajax,否则使用正式发布(这是默认设置)。

使用精确的引用当然会区分应用程序中的某些表单,但这是应该在视图的脚本中完成的,而不是在应用程序范围内包含的一个包罗万象的脚本中。

当我想要提供预览,或者如果我想在用户不离开页面的情况下发布内容时,我倾向于使用ajax。

有时,在很少的情况下,我会有一个页面,通过ajax用几个滑动窗口替换,然后在本系列的末尾,我想要重定向。在这种情况下,我将让控制器返回一个字符串,该字符串允许视图在ajax调用的成功函数中重定向到该字符串。

票数 0
EN

Stack Overflow用户

发布于 2013-04-26 03:27:55

我倾向于保持我的不同,尽管其他人可能会有所不同。它们发布到不同的URL,并对数据做不同的事情。

我通过id引用表单:

代码语言:javascript
复制
$('#myformid")
票数 0
EN

Stack Overflow用户

发布于 2013-04-26 03:35:20

如果您只想将您的函数应用于除登录表单之外的所有表单,您可能希望使用不相等选择器。

代码语言:javascript
复制
$('form[id!="loginform"]')...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16223124

复制
相关文章

相似问题

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