【发布时间】:2019-05-31 03:29:15
【问题描述】:
我想将一个数组从 JS 传递到 PHP,然后在那里使用它,我收集 JS 中的值并将它们发送到另一个文件,在那里我尝试将其转换为 $_SESSION 变量,但是当我对此执行 var_dump它给了我一个带有逗号分隔值的字符串。有更好的方法吗?
我的 JS:
var value_1 = document.getElementById("value_1").value;
var value_2 = document.getElementById("value_2").value;
var value_3 = document.getElementById("value_3").value;
var value_4 = document.getElementById("value_4").value;
var value_5 = document.getElementById("value_5").value;
var values = [];
values.push(value_1);
values.push(value_2);
values.push(value_3);
values.push(value_4);
values.push(value_5);
var formData = new FormData();
formData.append("values", values);
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if(this.readyState == 4 && this.status == 200){
// success
}
};
xmlhttp.open("POST", "myfile.php", true);
xmlhttp.send(formData);
PHP:
if(isset($_POST['values'])){
$_SESSION['values'] = $_POST['values'];
}
【问题讨论】:
-
你确定它给你一个逗号分隔值的字符串,还是更像
["value_1", "value_2", "value_3"]? -
是的,我做
var_dump($_SESSION['values']);,它返回C:\wamp64\www\<directory>\<file>:<line>:string 'value1,value2,value3,value4,value5 -
您可以将数组字符串化为您发布到 PHP 的 json 字符串,然后在 PHP 中对其进行解码。
-
@executable 我没有得到您的标记作为可能的重复和答案。我觉得旗帜应该被移除。这对于以后可能想要发布更多答案的其他人来说是不公平的。
标签: javascript php arrays session