【发布时间】:2016-04-11 06:35:28
【问题描述】:
我正在尝试发送这个失败的 ajax 调用。我真的不明白为什么会这样。
有人可以看看我的代码吗?
虽然在 fireBug 中我可以看到有效负载正在正确转换,但调用甚至没有命中控制器代码(在我看来)。
jquery
function userAdd(){
var array2=new Array();
var array1=new Array();
var value2=$('input:checkbox.value2').each(function () {
if(this.checked){
array2.push($(this).attr('itemLabel'));
}
});
var value1=$('input:checkbox.value1').each(function () {
if(this.checked)
array1.push( $(this).attr('itemLabel'));
});
var report = ({
user:user,
address:$("#address").val(),
regimesRemove:array2,
regimesReport:array1
});
jQuery.ajax( {
async : false,
cache : false,
url : "/myapp/user/addUser",
type : 'POST',
contentType: "application/json; charset=utf-8",
dataType : 'json',
data:JSON.stringify(report),
success : function(data) {
if(data.errorMessage == undefined){
alert(data.errorMessage);
window.location.reload();
}else if(data.errorMessage !=''){
alert(data.errorMessage);
window.location.href="/myapp/user";
else
window.location.href="/myapp/user";
},
complete : function(request, status) {
if (status == undefined || status == "error" || status == "parsererror") {
alert("Error with status: "+status);
window.location.href="/myapp/user/";
} else if (status != 'success'){
alert("error with status: "+status);
alert('error in searching Invalid or submitted records: '+status);
}
}
});
}
Java
@RequestMapping(value="/addUser",method=RequestMethod.POST)
public @ResponseBody Report updateRulesForRequest(Model model, HttpServletRequest request,@RequestBody Report report){
}
日志
Request URL:http://localhost:8080/myapp/user/addUser
Request Method:POST
Status Code:400 Bad Request
Response Headers
view source
Cache-Control:must-revalidate,no-cache,no-store
Content-Length:1417
Content-Type:text/html;charset=ISO-8859-1
Server:Jetty(7.0.2.v20100331)
Request Headers
view source
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:335
Content-Type:application/json; charset=UTF-8
Cookie:timezoneOffset=330; timezoneOffset=330; JSESSIONID=16ukve3dwiqt6
Host:localhost:8080
Origin:http://localhost:8080
Referer:http://localhost:8080/myapp/selectUser/getUser?Id=C9067134CA9711E56095E83935B46D68
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36
X-Requested-With:XMLHttpRequest
【问题讨论】:
-
HTTP 状态码 400 表示您的请求有问题。你能在这里从萤火虫那里复制粘贴你的ajax请求吗?这将有助于确定问题。另外,你的控制器类已经映射到
/user,对吧? -
是的,没错!它已被映射到 /user
-
您的请求中是否包含
'或"? -
Report是否与您发送到服务器的数据结构完全匹配?async : false真的很糟糕,cache : false毫无意义。
标签: jquery ajax spring-mvc