如何通过JavaScript发出HTTP DELETE请求?

时间:2016-01-19 23:46:03

标签: javascript methods http-delete

我从事广告工作。我正在使用FB图形API来“删除”#39;使用HTTP DELETE方法从客户端平台分配广告。

我的请求格式为:

https://graph.facebook.com/v2.5/{{NODE_ID}}/{{EDGE_NAME}}?field_ids=['123456']

我通常使用图形资源管理器工具(https://developers.facebook.com/tools/explorer)来完成这样的任务,但是客户端提供了超过8000个删除工作,因此逐个手动操作会非常困难。

如何使用JavaScript调用HTTP DELETE方法?我想使用这样的for循环:

var node_ids = ["123","456","789"];
var field_ids = ["abc","def","ghi"];

for (i = 0; i < node_ids.length < i++){

// MAKE DELETE REQUEST to "https://graph.facebook.com/v2.5/" + node_ids[i] + "/{{EDGE_NAME}}/?field_ids=['" + field_ids[i] + "']";

}

我在网上看到了一些我认为可能适用的代码,但我不知道它是如何工作的......

$.ajax({
    url: '/script.cgi',
    type: 'DELETE',
    success: function(result) {
        console.log(result)
    }
});

它看起来像jquery但我猜它一定是ajax? ajax是否需要像jquery那样引用库?它就像把这个函数放在我的for循环中一样简单,并将我在for循环中构建的URL传递给了&#39; url&#39; ajax调用中的字段......?

传递给成功的最佳功能是什么?参数在这里,所以我知道我的请求是成功的?是否可以从删除请求返回响应,即成功:如果有效,则为true吗?

你越明确越好!

您是否预见到我在两个阵列中循环8000个条目时会出现任何问题(一个包含我正在编辑的节点ID /对象,一个包含与我访问的边缘相关的字段,这将删除aka#&# 39;从我正在访问的节点中删除&#39;分配...?

谢谢!

1 个答案:

答案 0 :(得分:4)

  

它看起来像jquery但我猜它一定是ajax?

Ajax是一个术语,用于表示&#34;使用JavaScript从网页发出HTTP请求,而不离开页面&#34;。没有使用Ajax就无法从网页发出DELETE请求。

您拥有的示例代码使用jQuery库来实现它。

  

ajax是否需要像jquery那样引用库?

您需要一些方法来发出HTTP请求。 JavaScript没有内置任何内容,但大多数主机环境至少为它提供了一种机制。对于Web浏览器,标准机制为XMLHttpRequest。 jQuery的Ajax函数是一个包装器(通常,有一些例外,特别是在发出JSONP请求时)。

  

就像把这个函数放在我的for循环中一样简单,并将我在for循环中构建的URL传递给&#39; url&#39; ajax调用中的字段......?

  

传递给成功的最佳功能是什么?参数在这里,所以我知道我的请求是成功的?

这取决于你的意思&#34;知道&#34;并且&#34;成功&#34;。

如果成功获得HTTP状态,您拥有的代码会将响应记录到控制台。如果您想通过其他机制获知,那么您需要更加具体。

如果服务器没有在响应中提供任何内容,或者(在极少数情况下)它没有提供合理的HTTP状态代码,那么您可能还需要其他内容。

  

是否可以从删除请求中返回响应,即成功:如果有效,则为true吗?

No. Ajax is asynchronous.