首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用jQuery向PHP发送动态密钥对值?

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

Stack Overflow用户
提问于 2019-08-05 04:43:53
回答 2查看 766关注 0票数 3

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

我现在所做的方式是将一个变量设置为[],然后按{'string1':'string2'},然后将这个变量发送进来。

就像这样:

代码语言:javascript
复制
$(".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输出如下所示:

代码语言:javascript
复制
Array
(
    [0] => Array
        (
            [name] => 1
        )

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

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

)

我真正想要的是在PHP方面做一些类似的事情

代码语言:javascript
复制
foreach($myInputData as $key => $value)
{
   $output .= $key . " : " . $value . " ";
}

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-05 04:51:27

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

代码语言:javascript
复制
var inputData = {};
$('.input-data').each(function(index) {
  var name = $(this).attr("name");
  var value = $(this).val();
  inputData[name] = value;
});
票数 1
EN

Stack Overflow用户

发布于 2019-08-05 05:20:24

你能试试下面的代码吗?

代码语言:javascript
复制
    $(".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;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57352297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档