javascript - 在不构建表单的情况下从 <a> 标记执行 DELETE 请求?

标签 javascript jquery ruby-on-rails

有没有办法强制一个<a href>单击时执行删除请求而不是常规 GET

“Rails”方式是动态生成一个<form>添加适当参数的标记,以便将其路由到正确的位置,但是我不太喜欢为这样一个简单的任务进行那么多的 DOM 操作。

我想过这样的路线:

$("a.delete").click(function(){
    var do_refresh = false;
    $.ajax({
        type: "DELETE",
         url: "my/path/to/delete",
     success: function(){
                  do_refresh = true;
              },
     failure: function(){
                  alert("There is an error");
              }
    });
    return do_refresh; //If this is false, no refresh would happen. If it
                      //is true, it will do a page refresh.
});

我不确定上面的 AJAX 内容是否有效,因为它只是理论上的。有什么办法可以解决这个问题吗?

注意:
请不要推荐我使用 rails :method => :deletelink_to ,因为我试图在很多方面避免使用 rails 助手,因为它们会用干扰性的 javascript 污染你的 DOM。我希望将此解决方案放入外部 JS 文件中,并根据需要包含在内。

最佳答案

根据文档:

http://api.jquery.com/jQuery.ajax/

DELETE 方法是允许的,但不是所有浏览器都支持,所以你应该看看这里:

Are the PUT, DELETE, HEAD, etc methods available in most web browsers?

关于javascript - 在不构建表单的情况下从 <a> 标记执行 DELETE 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3046448/

相关文章:

javascript - CSS 通配符选择

Java后端和JavaScript前端,如何加入?

javascript - Jquery IE7 ( :"Visible") 验证器不工作

jQuery 自动完成 - xml 跨站点请求

ruby-on-rails - 在 Jruby/JRack Tomcat 上发送文件

javascript - 如何在 Express 服务器上启动 Webpack 构建

javascript - 如何防止我的 PhoneGap webView 在 Android 上捕获 native 图片后刷新内容?

javascript - backbone.js 集合与服务器同步

mysql - 一段时间后服务器挂起所有请求

ruby-on-rails - 在heroku 上的rails 中将图像上传到数据库的简单方法是什么?