繁体   English   中英

如何使用jQuery向PHP发送动态密钥对值?

[英]How do I send dynamic key pair values to PHP with jQuery?

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

我现在这样做的方式是我将变量设置为[] ,然后按{'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;
});

你可以尝试下面的代码。

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

    var data = inputData;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM