【问题标题】:prevent duplicate ajax posts to webmethod on server side防止重复的 ajax 帖子到服务器端的 webmethod
【发布时间】:2012-09-12 04:33:50
【问题描述】:

我正在使用 ASP.Net Web Forms,我有一个按钮客户端,它通过 jquery ajax 将数据发布到 webmethod 服务器端。我的问题是如何防止 webmethod 收到来自用户多次单击按钮的多个请求,如果可能的话,我希望此代码位于服务器端。

【问题讨论】:

    标签: jquery asp.net ajax webforms


    【解决方案1】:

    在页面上单击按钮后,将其禁用,这样第二次单击将不会注册,然后发送请求并在收到响应后采取适当的操作。

    要在服务器端执行此操作会很困难,您可能必须对请求进行序列化,然后将每个请求与最近的历史记录进行比较,并确定其是否重复。这可能很困难,因为可能存在合法的重复项,并且很难区分它们。

    【讨论】:

    • 您认为 .on() 和 .off() 用于处理按钮的单击事件比使用 session 存储 request 的所有参数,然后在服务器端检查下一个 session 请求更好? @比尔
    • 我用 .on() 设置了点击按钮,然后在我可以使用 .off() 的 ajax 之前,然后成功:我可以重新打开它 on() - 有时有什么用原因是它不起作用,然后再次单击该按钮使其起作用,所以我认为服务器端是一种更好的检查方式 - 我总是对服务器端的一切感到更舒服
    • 是的,因为重复检查会变得非常复杂。如果请求同时进入并由服务器处理,您必须以某种方式检测然后阻止这种情况,这可能会变得复杂。
    • 有道理 - 我有点想我在试图检查服务器端
    猜你喜欢
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 2019-12-14
    • 2012-12-07
    • 1970-01-01
    • 2010-10-02
    • 2016-03-03
    • 1970-01-01
    相关资源
    最近更新 更多