javascript - Play 框架删除请求

标签 javascript html playframework

希望有人可以帮助我,我正在尝试获取删除请求以在 Play Framework 中工作。从我的 html 页面中,我有一个按钮,然后使用 ajax 语句,但目前我收到一个无法读取属性“addeventlistener”为空的错误。我对这一切都很陌生,并且正在学习教程,但这使用了 onclick 方法,我现在正在尝试克服该方法。谢谢您

document.getElementById("myBtn").addEventListener("click" ,sendDeleteRequest);

function sendDeleteRequest(url, rUrl) {
    $.ajax({
        url: url,
        method: "DELETE",
        success: function () {
            window.location = rUrl;
            },
        error: function() {
            window.location.reload();
        }
    });
}

和我的 html

 <button class ="btn btn-danger" id="myBtn('@routes.BooksController.destroy(book.id)',
    '@routes.HomeController.index()'
    )" >Delete</button>

最佳答案

您混淆了 id 属性和其他属性。

使用 data- 属性来存储您的路线:

<button class ="btn btn-danger" 
  id="myBtn" 
  data-url="@routes.BooksController.destroy(book.id)" 
  data-redirect-url="@routes.HomeController.index()" 
>Delete</button>

并在 Javascript 中使用 that.getAttribute() 使用它们:

document.getElementById("myBtn").addEventListener("click" ,sendDeleteRequest);

function sendDeleteRequest() {
    let that = this;
    $.ajax({
        url: that.getAttribute('data-url'), //Here
        method: "DELETE",
        success: function () {
            window.location = that.getAttribute('data-redirect-url'); //Here
        },
        error: function() {
            window.location.reload();
        }
    });
}

关于javascript - Play 框架删除请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51179683/

相关文章:

javascript - 在调用 android javascript 方法时传递 json 对象?

python - 是否有 Python 3.2 的原生 HTML 解析模块?

javascript - 第一次加载 HTML 页面时 JS 不运行

java - 无法编写类路由器/路由

java - 如何将 Jars 添加到 Play Framework 中的类路径中?

scala - 如何让 ensime 显示所有编译错误?

Javascript get 请求阻塞了 ui

javascript - 使用 jQuery 选择一个随机 li

javascript - 我怎样才能让 URL 中的电子邮件地址显示在我的网页上,使用 javascript 或 HTML 构建在 Ruby on Rails 上的网站?

java - 为什么我在这里得到 "org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR"?