javascript - 如何使用 jQuery 将动态 key 对值发送到 PHP?

标签 javascript php jquery

我有一些将数据发送到 PHP 函数的 jQuery 代码,一些将要发送的数据是键 => 值对。

我现在的做法是将变量设置为 [],然后推送 {'string1':'string2'},然后发送该变量中。

像这样:

$(".test-button").click( function() {
        var inputData = [];
        $('.input-data').each(function( index ) {
            var name = $(this).attr("name");
            var value = $(this).val();
            inputData.push( { name : value } );
        });
var data = {
            testData: inputData
        };

当我在 PHP 中获取数据时,如果我发送的是 3 个键值对,则 print_r 输出如下所示:

Array
(
    [0] => Array
        (
            [name] => 1
        )

    [1] => Array
        (
            [name] => 2
        )

    [2] => Array
        (
            [name] => 3
        )

)

我真正喜欢的是在 PHP 方面做类似的事情

foreach($myInputData as $key => $value)
{
   $output .= $key . " : " . $value . " ";
}

我对如何在 jQuery/JavaScript 中轻松地做到这一点感到有点困惑

最佳答案

当创建您的 javascript 对象时,name 被视为文字,它没有使用您之前定义的变量。您可以执行 inputData.push( { [name] : value } ); 代替。 这将每次创建一个新对象并将其添加到数组中,但您似乎正在寻找一种只发送一个对象的解决方案:

var inputData = {};
$('.input-data').each(function(index) {
  var name = $(this).attr("name");
  var value = $(this).val();
  inputData[name] = value;
});

关于javascript - 如何使用 jQuery 将动态 key 对值发送到 PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57352297/

相关文章:

javascript - 内联 JavaScript 似乎是随机加载的,如果有的话

javascript - knockout js 'with'绑定(bind),数组为空时隐藏

php - 如何在 Laravel eloquent 上的相关表字段上应用 where 子句

php - 如何使用 PHP 从 Mysql 数据库中选择随机列值

javascript - 在设定的时间后移除加载微调器

jquery - 使用 jquery 以编程方式单击按钮

javascript - Jquery 提取 json 表示 {41 : Array[2], 42: Array[1]}

javascript - 创建高效的功能而不是重复的功能

javascript - 单击后如何加载选择下拉菜单项

php - 定期向 Ratchet 中的客户端发送消息