在DELETE请求时参数为NULL
Parameter is NULL on DELETE Request
我使用ajax发送删除请求,但我得到一个NULL值。我不知道我做错了什么。
这是我的ajax调用(function() {
$('#btnDelete').bind('click', function() {
$.ajax({
url: '/Project',
type: 'DELETE',
cache: false,
dateType: 'json',
data: {
delProjId: $('#projectId').text(),
nbRandom: Math.random().toString()
},
success: function(data) {
if (data.message[0].error) {
toastr.error(data.message[0].message);
} else {
toastr.success(data.message[0].message);
console.log('success');
}
},
error: function(request, status, error) {
toastr.error(error);
}
});
});
这是我的post request
protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setHeader("Content-Type", "application/json");
String delProjId = request.getParameter("delProjId");
System.out.println("Parm:" + delProjId);
}
和服务器日志
Parm:null
java.lang.NullPointerException
at com.projectRequest.models.Project.doDelete(Project.java:122)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:210)
当前设置为span element。我尝试将值放在输入字段中,甚至在传递值时在值周围添加JSON.stringify()。我仍然得到相同的结果,一个空参数。我在客户端上看到这个值,甚至在执行ajax调用之前记录它。
只有POST请求在请求体中有参数作为实体。您必须将其作为URL的一部分发送。
参见RFC 2616:"DELETE方法请求源服务器删除由Request-URI标识的资源"。
您可以通过URI传递参数,例如:
http://localhost/?path=/willbedeleted.txt相关文章:
- 从JavaScript调用JAX-WSWeb服务时参数为Null
- ajax post在webapi中传递null参数
- Javascript-函数获取数组元素参数未定义/为null
- Ajax调用后控制器中的参数为Null
- 未能构造'Blob':提供的第一个参数为null,或者是无效的Array对象
- 当 JSON.stringify 时,ASP.NET MVC 控制器参数的 JSON 为 null
- fn.apply 与第一个参数 null 或未定义
- Function.prototype.bind with null 作为参数
- JavaScript null 参数使正则表达式匹配
- 在匿名回调中使用函数参数将返回 null/NaN
- Web API 控制器操作参数始终为 null
- javascript 返回 null 或 None 如果参数没有给函数
- 尝试将 Blob 传递给 C# 控制器时的 null 参数
- 使用AngularJS传递参数时,Resteasy@FormParam为null
- 为什么当中间参数为'null'
- Coffeescription出现奇怪问题-文本参数发送为null
- Angular$http发布到MVC操作,参数为null
- jQuery数据表-ASP.NET控制器参数始终为null
- MVC[HttpPost]方法接收null参数
- Array.prototype.slice.call(arguments)和Array的区别.应用(null,参数)