如何从 HTML 发送 DELETE 请求?
How can I send a DELETE request from HTML?
我正在为 Cloudfront/S3-fronted 存储桶创建一个 HTML 接口,我希望能够通过该接口删除其中的对象。我可以编写 GET 和 POST 请求来列出和查看存储桶中的对象,但我不知道如何编写删除请求。
private String buildURL(String endpoint) {
String secret = 'some_secret';
Datetime dt = Datetime.now();
Long longTime = dt.getTime();
Long expiryLong = (longTime / 1000) + 10;
String url = 'https://' + cf + endpoint +
'?Prefix=' + user_id;
String expiry = String.valueOf(expiryLong);
String policy = policy(url, expiry);
String policyEnc = EncodingUtil.base64Encode(Blob.valueOf(policy));
String rPolicy = cfReplace(policyEnc);
Blob mac = Crypto.generateMac('HMACSHA1',
Blob.valueOf(rPolicy),
Blob.valueOf(secret));
String signature = cfReplace(EncodingUtil.base64Encode(mac));
return 'https://' + cf + endpoint +
'?Prefix=' + user_id + '&Policy=' + policyEnc +
'&Signature=' + signature + '&Key-Pair-Id=' + keyPairId;
}
如果这是我用来生成 URL 以查看对象的方法,我如何将其更改为删除请求并将其附加到 <a href...
标记?
你可以使用 ajax.
<a href="test.php" onclick="sendDelete(event)">test</a>
<script>
function sendDelete(event){
event.preventDefault();
xhttp.open("DELETE", this.href, true);
xhttp.send();
}
</script>
很遗憾,可能无法将其附加到 href object。表单中的元素只能执行POST and GET only.。您可能必须手动构建 header 的删除方法(在服务器端提交表单)或使用 HTTP 库来完成操作。
我正在为 Cloudfront/S3-fronted 存储桶创建一个 HTML 接口,我希望能够通过该接口删除其中的对象。我可以编写 GET 和 POST 请求来列出和查看存储桶中的对象,但我不知道如何编写删除请求。
private String buildURL(String endpoint) {
String secret = 'some_secret';
Datetime dt = Datetime.now();
Long longTime = dt.getTime();
Long expiryLong = (longTime / 1000) + 10;
String url = 'https://' + cf + endpoint +
'?Prefix=' + user_id;
String expiry = String.valueOf(expiryLong);
String policy = policy(url, expiry);
String policyEnc = EncodingUtil.base64Encode(Blob.valueOf(policy));
String rPolicy = cfReplace(policyEnc);
Blob mac = Crypto.generateMac('HMACSHA1',
Blob.valueOf(rPolicy),
Blob.valueOf(secret));
String signature = cfReplace(EncodingUtil.base64Encode(mac));
return 'https://' + cf + endpoint +
'?Prefix=' + user_id + '&Policy=' + policyEnc +
'&Signature=' + signature + '&Key-Pair-Id=' + keyPairId;
}
如果这是我用来生成 URL 以查看对象的方法,我如何将其更改为删除请求并将其附加到 <a href...
标记?
你可以使用 ajax.
<a href="test.php" onclick="sendDelete(event)">test</a>
<script>
function sendDelete(event){
event.preventDefault();
xhttp.open("DELETE", this.href, true);
xhttp.send();
}
</script>
很遗憾,可能无法将其附加到 href object。表单中的元素只能执行POST and GET only.。您可能必须手动构建 header 的删除方法(在服务器端提交表单)或使用 HTTP 库来完成操作。