Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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
如何通过AJAX Post传递嵌套PHP数组?_Php_Jquery_Ajax_Arrays_Post - Fatal编程技术网

如何通过AJAX Post传递嵌套PHP数组?

如何通过AJAX Post传递嵌套PHP数组?,php,jquery,ajax,arrays,post,Php,Jquery,Ajax,Arrays,Post,我有一个PHP脚本,它期望: $_REQUEST['asdf']['bsdf']['csdf'] 当它被调用时被设置,我不能改变它。 我想通过ajax调用此PHP脚本: myurl = 'example-url.com'; myid = $(this.$element).attr('id'); //gets the id of a textfield: csdf value = 'somevalue'; $.ajax({type: 'POST', url: myurl,

我有一个PHP脚本,它期望:

$_REQUEST['asdf']['bsdf']['csdf']
当它被调用时被设置,我不能改变它。 我想通过ajax调用此PHP脚本:

myurl = 'example-url.com';
myid = $(this.$element).attr('id'); //gets the id of a textfield: csdf
value = 'somevalue';

$.ajax({type: 'POST',
        url: myurl,
        data: {'asdf[bsdf][myid]': value},
        success: function (data) {
          /* blabla */
       }
});
但它不起作用,因为var“myid”没有填充假定的值“csdf”。 有人能帮我怎么做吗


PS:我无法访问PHP文件,因此无法更改结构…

请尝试以下操作:

var myurl = 'example-url.com';
var myid = $(this.$element).attr('id'); //gets the id of a textfield: csdf
var value = 'somevalue';

var param = {};
param[myid] = value;

$.ajax({type: 'POST',
        url: myurl,
        data: {'asdf[bsdf]' : param},
        success: function (data) {

                 }
});
您可以在通过ajax调用传递的数据之外构建param对象,以保持正确的键

... {
     ...
     data: {[['first', 'array', 'nested'], 'other', 'in', 'parent', 'array']},
     ...
}
在PHP中,获取POST变量是与其他语句一起使用的


var\u dump($\u POST)说了什么?非常感谢,这就成功了!昨天我花了好几个小时试了试:-)