我在网页上有一个链接,打开一个模态对话框。第一次单击链接时,初始化代码将执行。后续点击不需要进行任何处理。这里的问题是当人们双击初始化代码运行两次的链接时 - 即使我正在设置一个标志立即说我已初始化,如果标记不运行init函数。我该怎么办?
答案 0 :(得分:5)
我使用Ben Nadel's jQuery ajax wrapper。每次创建ajax请求时,都可以选择为其命名。 ajax包装器跟踪所有已命名的请求,如果它仍在等待来自先前具有相同名称的请求的响应,则删除所有重复的请求。
通过这个“管道”放置所有ajax调用,您可以很好地集中控制每次调用。
答案 1 :(得分:0)
我做了一个插件来扩展jquery ajax方法并添加一个singleton标志,带有一个额外的阻塞标志,告诉ajax忽略使用这个url(或键)的所有后续调用。
通常使用额外的{singleton:true,blocking:true}选项
来调用ajax如果第一个呼叫仍在处理,当你两次呼叫同一个ajax时,第二个呼叫不会触发。 V到目前为止很方便: