gpt4 book ai didi

java - (spring mvc)我想在使用 $.ajax() 时发送数组,但在controller.java中存在没有参数的空指针异常

转载 作者:行者123 更新时间:2023-11-30 06:17:49 24 4
gpt4 key购买 nike

选中多个复选框我想在使用$.ajax()时发送数组,但controller.java中出现没有参数的空指针异常我在jsp中附加了javascript的ajax部分和controller.java的部分

//view part

var empno = $('input:checkbox[name="checkbox"]:checked');
var i;
var array = new Array();

for(i=0; i<empno.length; i++){

empnoyo = empno[i].getAttribute("id");//id='{EmpVO.EMPNO}';
array.push(empnoyo[i]);

}

alert('empnnoyo:'+empnoyo);
$.ajaxSettings.traditional = true;

$.ajax({
url:"/delete",
data: {array:array},
dataType: 'text',
processData: false,
contentType: false,
type: 'POST',
success: function(result){
if(result==1)
alert('delete complete');
location.href='/index';

}
});
}

//controller part
@RequestMapping(value="/delete")
public String delete(int[] empno) throws Exception{

int i=0;
System.out.println("delete arr:"+empno[i]);
for(i=0; i<empno.length; i++) {
service.remove(empno[i]);
}
return "redirect:index";
}

最佳答案

删除 processData 和 contentType 并将 {array:array} 更改为 {empno:array}

processData 和 contentType 只对 FormData 和 Binary 类型真正有用。

您的服务器端代码期望参数为 empno 而不是 array

   $.ajax({
url:"/delete",
data: {empno:array},
dataType: 'text',
type: 'POST',
success: function(result){
if(result==1)
alert('delete complete');
location.href='/index';

}
});

关于java - (spring mvc)我想在使用 $.ajax() 时发送数组,但在controller.java中存在没有参数的空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48819786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com