Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
构建JavaScript关联数组并使用每个循环传递给PHP_Javascript_Php_Json_Serialization_Each - Fatal编程技术网

构建JavaScript关联数组并使用每个循环传递给PHP

构建JavaScript关联数组并使用每个循环传递给PHP,javascript,php,json,serialization,each,Javascript,Php,Json,Serialization,Each,我一直在尝试使用输入值和id在javascript中创建对象,但当我尝试序列化/字符串化时,该对象变为空 我的代码: dataArray = []; $('.popover :input').each(function() { dataArray[$(this).attr('id')] = $(this).val(); }); console.log(dataArray); /* RESULT: Arra

我一直在尝试使用输入值和id在javascript中创建对象,但当我尝试序列化/字符串化时,该对象变为空

我的代码:

        dataArray = [];

    $('.popover :input').each(function() {

        dataArray[$(this).attr('id')] = $(this).val();

    });

    console.log(dataArray); 

    /*
    RESULT:
    Array[0]
        home_recent_jobs:"123"
        home_recent_jobs2:"345"
        length:0
        undefined:""
        __proto__:Array[0]
    */

    var json    = $(dataArray).serialize();
    var ser     = JSON.stringify(dataArray);

    console.log(json);      // RESULT: EMPTY
    console.log(ser);       // RESULT: []
想法?

我做错了什么?

我不久前就有这个问题。 尝试使用这个库,它对我帮助很大


好的。。。经过搜索,我找到了这个解决方案——每个循环都更好

新的每个循环:

    $('.popover :input').each(function (index) {

        var cid = $(this).attr('id');
        var cval = $(this).val();

        if(cid && cval) {
            var obj = { 
                id: cid,
                val: cval
            };
            dataArray.push(obj);
        }
    });
这似乎奏效了。
感谢您的帮助

返回空对象。我猜我是以错误的方式构建对象或者类似的方式构建对象。我将此代码设置为$(“input[name='test_modal[]']:checked”)。每个(函数(){checked[$(this.attr('id')]=$(this.val();}var ser=JSON.stringify(checked);console.log(ser);我有[null,“jordan”,“michael”]console.log(ser);您可以使用dataArray.push($(this.val()));谢谢@dimis283这就是我最后要做的;)