如何在Hyperlink上调用REST DELETE方法?

时间:2015-10-30 09:56:09

标签: javascript jquery hyperlink

我有一个超链接,一旦从jQuery Datatable行单击,就会从数据库中删除该记录。我的服务器端代码是基于REST的Web服务,它包含DELETE方法来执行操作。

这是我的HTML:

<a href="#" data-toggle="modal" data-target="#" title="Delete"><i class="glyphicon glyphicon-trash"></i></a>

以下是我从超链接获取Click事件的方法:

 $('#StudentTable .glyphicon-trash').on('click', function () {
        alert("Hii");
        var table = $('#StudentTable').DataTable();
        var data = table.row(this.closest("tr")).data();
 });

我不应该使用ajax调用。

1 个答案:

答案 0 :(得分:4)

不使用XmlHttpRequest,您可以通过发送表单来执行POST请求。您需要使用字段&amp;创建表单。您要发送的值,将其附加到文档中,然后调用表单的submit方法。

form = $("<form action='[api endpoint]' target='[iframe id]' method='POST' style='display:none'></form>")
form.append "<input type='input' name='[paramName]' value='[paramValue]'>"
$("body").append(form)
form.submit()

您应该将表单的目标设置为iframe,因为发送帖子会重定向到服务器响应。如果API与脚本不在同一个域中,则必须使用CORS来访问响应。

另外,正如其他人所说,请使用DELETE http动词删除请求数据,以符合REST原则。