【发布时间】:2012-06-01 17:33:22
【问题描述】:
我正在尝试使用 jquery 进行 ajax 删除,但收到 http 错误 400。 我正在搜索,我发现 jquery 中的 delete 方法存在一些问题。
这是我的 js、控制器(spring 3)和来自 Chrome 的请求。
如果你现在有什么错误请告诉,或者给一些链接。
$.ajax({
url: 'additions/cancelUpload',
type: 'DELETE',
data: {filename : ui.draggable.get(0).file.name},
success: function (res) {
alert(res);
}
});
此处执行不通过:
@RequestMapping(value = "cancelUpload", produces="text/html")
@ResponseBody
public String cancelUpload(@RequestParam("filename")String filename, HttpSession session ){
...
}
请求:
请求网址:http://localhost:8080/WebStore/additions/cancelUpload 请求方法:删除 状态码:400 错误请求 请求标头view source 接受:*/* 接受字符集:windows-1251,utf-8;q=0.7,*;q=0.3 接受编码:gzip、deflate、sdch 接受语言:uk-UA,uk;q=0.8,ru;q=0.6,en-US;q=0.4,en;q=0.2 连接:保持活动 内容长度:17 内容类型:application/x-www-form-urlencoded Cookie:JSESSIONID=A7DF5CB262C460961BC7B5C7DCB23052 主机:本地主机:8080 来源:http://localhost:8080 引用者:http://localhost:8080/WebStore/items?form 用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1 1X-Requested-With:XMLHttpRequest 表单 Dataview URL 编码 文件名:6648.jpg响应标头
连接:关闭 内容长度:1043 内容类型:text/html;charset=utf-8 日期:2012 年 5 月 26 日星期六 10:03:58 GMT 服务器:Apache-Coyote/1.1 X-TraceId:4fc0a8f8-46 X-TraceUrl:/insight/services/traces/4fc0a8f8-46?type=json【问题讨论】:
-
您似乎将内容类型设置为 text/html 并且服务要求它是 application/x-www-form-urlencoded
-
但我确实从 js 发送 Content-Type:application/x-www-form-urlencoded。并产生=“文本/html”是服务器的响应。我试着按你说的改了,但是不行。
-
当我将请求更改为 POST 时,一切正常。
-
尝试更改您的请求映射以包含 DELETE 方法 @RequestMapping(value = "cancelUpload",produces="text/html" method = RequestMethod.DELETE)
-
已经做到了。仍然状态代码:400 错误请求
标签: jquery ajax spring methods