php - 你能有一个设置为数组的 PHP $_POST 变量吗?

标签 php ajax arrays jquery post

我正在使用 AJAX 将一些数据放入我的数据库中。我正在使用 JSON 将数据提交到 PHP 页面。我正在使用 POST 请求。您可以将其中一个 POST 变量设置为数组吗?下面我有完整的 AJAX 请求,但这是我将数据的两部分设置为数组的部分:

"content[]" : testContentArray,
"content_attr[]" : testContentAttributes,

下面是我的完整 AJAX(使用 jQuery):

$.ajax({
                type: "POST",
                url: "../includes/create_test_main.ajax.php",
                data:   {"tags" : $('#testTags').val(),
                                         "title" : $('#testTitle').val(),
                                         "subject" : $('#testSubject').val(),
                                         "description" : $('#testDescription').val(),
                                         "content[]" : testContentArray,
                                         "content_attr[]" : testContentAttributes,
                                         "user_id" : user_id},
                success: 

                                     function(testId) {//redirect Page
                                        window.location.href = "http://localhost/nvr_forget/public_html/test/" + testId + "/";
                                     }
            });
        };

如果那样做,我将如何在 PHP 端处理它?我如何将 $_POST 变量作为普通数组处理?

最佳答案

当您将 data 对象中的数组传递给 $.ajax 时,它会被解析为 name[]=value 格式。这是使用 $.param 完成的,所以我将说明如何使用它:

jQuery.param({'foo': [1, 2, 5]})
// "foo%5B%5D=1&foo%5B%5D=2&foo%5B%5D=5"

%5B%5D 是 uri 编码的方括号。这是将同一键的多个值发送到服务器的常用方法。 PHP 将其解析为数组,因此在本例中:

var_export($_POST['foo']);
// array ('1', '2', '5')

所以在您的代码中,$_POST['content']$_POST['content_attr'] 都应该是数组。您使用的方括号是不必要的,但不会破坏任何东西。

See the PHP manual on the subject .

关于php - 你能有一个设置为数组的 PHP $_POST 变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6164248/

相关文章:

PHP 将 SQL 数据库中的时间与当前时间进行比较

php - 如何在没有 php Artisan serve 的情况下查看 laravel View

javascript - 在ajax成功方法中返回未定义

javascript - 比较 2 个或更多排序数组 javascript

java - 获取用户在线/离线状态

php - 我的登录无法正常工作,我不明白为什么? [请帮忙]

php - 在某个位置周围生成随机坐标

javascript - Ajax调用json_encode不起作用

javascript - 为什么我的 jQuery/YQL 调用没有返回任何内容?

javascript - JSON 对象重组建议?