ajax页面跳转到controller,并传递数组,ajax一直没执行状态码415

1.前言

记录此次ajax部分遇到的一些坑。

2.正文

  1. ajax传递数组参数。参考文献
    方法一:
    1.1 使用JSON.stringify 将数组对象转化成json字符串;
var array = ["1", "2"];
$.ajax({  
    type : 'POST',  
    url: path + '/check/testPost',  
    contentType : "application/json" ,
    data : JSON.stringify(array), 
    success : function(data) {  

    }  
}); 

1.2 后台处理

@RequestMapping(value = "/testPost", method = {RequestMethod.POST})
public void testPost(@RequestBody String[] array) throws IOException {
    for (String string : array) {
        System.out.println(string);
    }
    return ;
}

方法二:
2.1 前端不做处理:

var array = ["1", "2"];
$.ajax({  
    type : 'POST',  
    url: path + '/check/testPost',
    contentType: "application/x-www-form-urlencoded",
    data: {"array": array},
    success : function(data) {  
    }  
});

2.2 后台处理

@RequestMapping(value = "/testPost", method = {RequestMethod.POST})
public void testPost(HttpServletRequest req) throws IOException {
    String[] array = req.getParameterValues("array[]");
    for (String string : array) {
        System.out.println(string);
    }
    return ;
}

这里要善于使用浏览器的network进行调试排错。上面的方法是没有问题的,但是我的controller就是没执行。我在网上查了很多ajax不执行,众说纷纭。我这里说下我最后的问题。

  1. url填写错误
    一开始我的url为,url: "/file/dependency",,这里我打开network一查看发现地址错了,需要回退一级。修改为:url: "../file/dependency",
  2. 继续执行,看network中的状态码为415,参考文献ajax状态码415解决方案
    在进行ajax响应后台的数据的时候,出现了415异常
    原因是没有maven中没有响应的坐标依赖,没有办法对发送的json进行解析,
    导入相关的依赖解决了问题
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>

3.我的截图

我最后的项目截图
1.前端
在这里插入图片描述
2. controller
在这里插入图片描述
3.测试结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值