我使用ajax将多个值传递给具有相同名称的PHP。但是当我转储数组时,只显示最后一个值。
序列化形式:
流派= 59&安培;流派= 13&安培;流派= 15&安培;流派= 14&安培;流派= 16&安培;流派= 17&安培;流派= 18&安培;流派= 19&安培;流派= 20&安培;流派= 21&安培;流派= 22&安培;流派= 23&安培;流派= 24&安培;接受介质= 1&安培;特殊指令=安培; G-验证码 - 响应=安培;用户ID = 62&安培;行动=搜索
** PHP *
"genres=" . var_dump(array($_REQUEST["genres"])) . "\n";
数组 (size = 1)
0 =>字符串'24'(长度= 2)
的JavaScript
$("#form-enablers").on("submit", function () {
$("#userid").val(localStorage.getItem("account-id"));
var data = $("#form-enablers").serialize() + "&action=search";
console.log(data);
ajax('post', 'php/enablers.php', data, success, "Error searching: ");
function success(table) {
console.log(table);
$('#table-list').empty().append(table);
$("#writers-list").css({ "display": "block" });
}
});
答案 0 :(得分:2)
如果要在请求中传递值数组,则需要特殊语法。您需要将方括号[] 添加到属性名称,以便将所有属性放入数组中。
在您的情况下,序列化数据应如下所示:
genres[]=59&genres[]=13&genres[]=15&genres[]=14&genres[]=16&genres[]=17&genres[]=18&genres[]=19&genres[]=20&genres[]=21&genres[]=22&genres[]=23&genres[]=24&accepted-media=1&special-instructions=&g-recaptcha-response=&userid=62&action=search
这样 $ _ REQUEST ['genres'] 将包含一组值而不是一个值。
答案 1 :(得分:0)
Click here, is similar to your question though is not in Ajax
要点是需要方括号[]的值的名称。