aCa*_*lla 0 javascript ajax httprequest http-delete
我正试图弄清楚如何使用Javascript来发出DELETE请求.我有一个用Java Spring编写的服务,其中我正在处理的url的控制器method = RequestMethod.DELETE.我的网址是,比如说http://192.168.50.51/my-service/deleteLocation/{value1}/{value2}/{value3}.在我的JavaScript中,我有一个像这样的AJAX函数:
ajaxFunction : function(url, callback, httpMethod) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
var jsonParse = JSON.parse(xhttp.responseText);
callback(jsonParse);
}
}
xhttp.open(httpMethod, url, true);
xhttp.send();
}
Run Code Online (Sandbox Code Playgroud)
当我想使用DELETEurl时,我有一个事件处理程序附加到运行此方法的按钮:
deleteConfirm : function() {
var valuel = this.value1;
var value2 = document.getElementById('element-id').getAttribute('data-element');
var value3 = document.getElementById('element-id').getAttribute('data-element2');
var url = 'http://192.168.50.51/my-service/deleteInfo/' + value1 + '/' + value2 + '/' + value3;
var httpMethod = 'DELETE';
var deleteCallback = function() { alert('deleted!'); }
this.ajaxFunction(url, deleteCallback, httpMethod);
}
Run Code Online (Sandbox Code Playgroud)
但是,我在控制台中一直出错:my-javascript.js:59 DELETE http://192.168.50.51/my-service/deleteInfo/123456789/123-456-7AB/12699 406 (Not Acceptable).
我已经读过XMLHttpRequest只接受GET和POST.如何使用JavaScript进行删除请求?
给出的信息,它看起来像你的浏览器中实际进行DELETE的请求,因为服务器给你回一个406 (Not Acceptable)响应.如果您的客户端从未在第一时间发送请求,则不会这样做.这意味着服务器收到了您的DELETE请求并决定不进行处理.因此,您需要查看服务器的API,以了解为您提供HTTP406的内容以及使您的请求工作的要求有何不同.
调试这些类型的好方法是通过浏览器开发人员工具.大多数浏览器都有一个选项卡,显示浏览器发出的HTTP请求和响应.它将使您更容易验证这些事情,继续前进.
| 归档时间: |
|
| 查看次数: |
4708 次 |
| 最近记录: |