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

标签 java jquery ajax jsp

选中多个复选框 我想在使用$.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/

相关文章:

javascript - 单击图像时 css 和/或 javascript 更改背景

javascript - 如何将表类应用到 AJAX 响应表

java - 持续集成——git flow

java - 使用 fragment 在 Android 构造函数中设置 View

java - Docker Spring Boot 未运行

javascript - 如何使用 DataTables 清除所有列标题

c# - 将字符串从 Javascript 编码和解码为 C# - 不起作用

java - 我应该使用什么类型的线程方法来连续工作?

javascript - 将 php json_encode 数组结果显示为 ajax 成功函数

jquery - 如何修复 chrome 渲染/不和谐动画问题?