Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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
Php Wordpress-Ajax和jQuery.serialize-如何访问?_Php_Jquery_Ajax_Wordpress - Fatal编程技术网

Php Wordpress-Ajax和jQuery.serialize-如何访问?

Php Wordpress-Ajax和jQuery.serialize-如何访问?,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,我在我的一个插件中使用wordpress内置ajax实现,如下所示: jQuery('#form_data_voting').submit(function() { jQuery.post( ajax_object.ajax_url, { action : 'voting_save', value : jQuery('#form_data_voting').serial

我在我的一个插件中使用wordpress内置ajax实现,如下所示:

jQuery('#form_data_voting').submit(function() {
        jQuery.post(
            ajax_object.ajax_url,
            {
                action : 'voting_save',
                value : jQuery('#form_data_voting').serialize(),
            },
                function(data) {
                    alert(data);
                }
        );//get
});
PHP中的函数如下所示:

add_action('wp_ajax_voting_save', function () {
    var_dump($_POST['value']);          
    die();
});//wp_ajax_voting_save
然后,我在转储中看到所有相关字段都在一个字符串中,这要归功于serialize()函数。但这里的问题是,它存储在“value”变量后面,而我无法将其取出。字符串如下所示:
name=testname&tel=3883838
。我无法通过以下方式访问名称:
$\u POST['name']
$\u POST['value']['name']

如何在wordpress ajax环境中访问作为POST变量的
name
tel
,或者这是不可能的,我必须在js文件中创建name和tel作为值,并且必须将
serialize()
退出函数

如果有人以前有过这样的经历并能分享解决方案,那就太好了。谢谢

试试这个功能。我想这就是你要找的


您还可以看到此函数的一个很好的示例

谢谢VukBG-对于我的示例,不是
parse\u url
,而是
parse\u str
就足够了:

    parse_str($_POST['value'], $my_array_of_vars);
    print_r($my_array_of_vars);

序列化html表单不会返回url,而是返回字符串。parse_url()将字符串作为参数