为什么用ajax提交数据到后台,接受的数据会多个null

通过ajax传递到后台,用String类型接受,'结果输出来两个参数,需要的1234和null,这是为啥啊

img

img

a1[j]和这个有关系吧,把这数组打印出来看看

以下内容部分参考ChatGPT模型:


你好,可能是你的ajax请求参数没有设置正确导致的。你可以尝试设置ajax请求的contentType和dataType参数,例如:

$.ajax({
  url: "yourURL",
  type: "POST",
  data: JSON.stringify(yourData),
  contentType: "application/json;charset=utf-8",
  dataType: "json",
  success: function (result) {
    console.log(result);
  },
  error: function (err) {
    console.log(err);
  }
});

其中,contentType设置为"application/json;charset=utf-8",表示请求的数据类型是JSON格式;dataType设置为"json",表示响应的数据类型也是JSON格式。这样就可以保证请求和响应的数据格式一致了。同时,你也需要确保后台的接口能够正确解析JSON格式的数据。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快

  • 这篇博客: 关于ajax异步请求后台接受参数为null的问题中的 关于ajax异步请求后台接受参数为null的问题 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 问题描述: 近日楼主在前端页面,使用ajax异步post方式发送请求,
    1: 前台访问路径正常,参数携带正常
    2: 后台拦截请求成功,使用request域获取的参数值全为null.

    解决方法:
    查询相关资料,因tomcat的版本不一样,里面maxPostSize属性值,设置不一样.

    7.0.63版本前:
    maxPostSize=“0” 是HTTP的POST请求下的body大小.
    为0表示不做限制,如果不设置的话,缺省的情况下是maxPostSize=“2097152”(单位Byte),也就是2M的大小。

    7.0.63版本后:
    maxPostSize 属性小于0才表示不限制.(tomcat默认为0)

    总结:
    因楼主使用tomcat版本为: 8.5.51 ,所以修改tomcat配置文件,将maxPostSize=“-1” 属性改为负数,ajax访问正常.
    (配置文件位置:tomcat/conf/server.xml)

    参考资料: