如何在vanilla javascript中编写具有特定id的Ajax调用删除方法

时间:2017-10-27 19:43:00

标签: javascript ajax

如何用jQuery编写的这个Ajax调用的完整性,完全用vanilla JavaScript

什么应该转换成香草javascript



$.ajax({
	type: "DELETE",
url: "/users/delete/" + $(".deleteUser").data('id');
}}




我认为它应该是,但控制台日志给了我以下错误消息:请求未定义。而且我担心它不会拿起身份证。



request.open("DELETE", "/users/delete/" + this.dataSet('id')); 




3 个答案:

答案 0 :(得分:3)

你不能再获得更好的香草了xmlhttprequest。

var xhr1 = new XMLHttpRequest();
xhr1.open('DELETE', "http://127.0.0.1:80/users/delete/", true);
xhr1.onreadystatechange = function() {
    if (this.status == 200 && this.readyState == 4) {

        dostuff = this.responseText;
  };//end onreadystate
 xhr1.send();

享受。

答案 1 :(得分:1)

request是节点模块,它在浏览器中不可用(虽然有一个浏览器的分支,但它不是vanilla JS,而是一个库)。

如果您不支持IE(只是IE,边缘应该没问题),您可以使用fetch API:

fetch("/users/delete/" + $(".deleteUser").data('id'), {
    method: "DELETE",
}}.then(function (response) {
    console.log(response);
});

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API

顺便说一下,我想你也想摆脱$.data电话,这是vanilla JS版本:

var id = document.querySelector('.deleteUser').getAttribute('data-id');

答案 2 :(得分:0)

您可以简单地使用新的访存API:

fetch(URL,{method:'DELETE'})

    .then((res)=>{
        res.json()
            window.location.href = '/'
        }
    );