首页 > 解决方案 > Jquery Ajax 不通过发布请求发送多个数据

问题描述

我正在尝试使用 jquery 发布请求发回数组或对象。我有多个具有相同名称的输入,如下所示:

$.ajax({
        type: "POST",
        url: "/details",
        date:{
            number:$('input[name="number[]"]').val()
        })

但是,即使我用相同的 name 属性填充多个输入name="number[]",我也只能在 nodejs 后端获得一个值。

jquery 不会自动发布具有相同属性的所有值吗?

标签: jquerynode.js

解决方案


在具有多个元素的选择器上使用的问题val()是它只会返回第一个

您可以将map()所有值放入一个数组中。

var numbers = $('input[name="number[]"]').map(function(){
  return this.value
}).get()

$.ajax({
    type: "POST",
    url: "/details",
    date:{
        number: numbers 
    })

在 php$_POST['number']中将是单个值的数组


推荐阅读