ajax - 如何在电梯中使用Confirm进行AJAX调用?

标签 ajax lift

我是 lift 新手,希望在我的项目中实现以下功能:

页面中有一个“删除”链接,当用户点击它时,会出现一条确认消息“您确定要删除吗?”。如果用户点击"is",它将进行 AJAX 调用以删除服务器端的某些内容,然后显示“操作完成”通知,3 秒后,页面将重新加载。

如何在 lift 中实现这一点?我搜索了很多,但没有找到正确的例子。

我现在只能这样做:

SHtml.a( ()=>Confirm("are you sure to delete", ???), "delete" )

最佳答案

最简单的方法是将 SHtml.ajaxInvokeJsCmds.Confirm 结合使用。它将创建一个服务器端函数并返回一个包含 functionId 和 JsCmd 的元组。因此,类似这样的事情应该可以满足您的要求:

SHtml.a( () => {
  JsCmds.Confirm("Are you sure you want to delete?", {
    SHtml.ajaxInvoke(() => {
      //Logic here to delete

      S.notice("Operation complete")
      JsCmds.After(3 seconds, JsCmds.Reload) //or whatever javascript response you want, e.g. JsCmds.Noop 
    })._2
  })
}, "delete")

在上面 - 单击链接将触发确认。如果您选择“确定”,那么它将向您的函数发出 ajax 调用并显示一条通知。您可以在任何需要 JsCmdSHtml 项中使用它。

如果您希望页面在超时后重定向,您可以编写一个客户端 JavaScript 函数来执行您需要的操作,并使用 JsCmds.Run 调用它。

关于ajax - 如何在电梯中使用Confirm进行AJAX调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16508414/

相关文章:

javascript - 在 Ajax 上加载 Google Chart -- 成功

oracle - 帮助将电梯连接到 Oracle 数据库

java - 修改默认的 JSESSIONID cookie,Scala Lift Framework

scala - 如何在 lift Crudify 中将字段设置为只读

javascript - JQuery - 从一个点循环遍历类的每个案例

php - jQuery .load 不加载 swfobject 内容

javascript - 在 PHP 中向 AJAX 发送大量参数

scala - 改进 sbt 文档生成

css - 当 Lift 使用 CSS 类用于其自身目的时,如何使用 CSS 来设计由 Lift 提供的网页样式?

javascript - 使用 AJAX 附加到 DOM,数据显示为字符串而不是 HTML