Javascript 我想将变量数组存储为$\u会话变量

Javascript 我想将变量数组存储为$\u会话变量,javascript,php,jquery,json,Javascript,Php,Jquery,Json,正如标题所说,我希望将变量数组存储为$\u会话变量,以便在另一个.PHP文件中使用它并使用它执行操作 阵列: <script> var arrayIDs = [18, 28 31, 38, 41] </script> var arrayIDs=[18,28,31,38,41] 我尝试过但不起作用的: <?php $_SESSION["arrayIDs"] = arrayIDs; ?> 嗨JavaScript是客户端,

正如标题所说,我希望将变量数组存储为$\u会话变量,以便在另一个.PHP文件中使用它并使用它执行操作

阵列:

<script>
    var arrayIDs = [18, 28 31, 38, 41]
</script>

var arrayIDs=[18,28,31,38,41]
我尝试过但不起作用的:

<?php
    $_SESSION["arrayIDs"] = arrayIDs;
?>


JavaScript是客户端,PHP是服务器端脚本语言。将JavaScript变量传递给PHP的方法是通过请求
让我们看一个简单的例子:


var arrayIDs=[18,28,31,38,41]
$.ajax({
url:'main.php',
键入:“post”,
数据:{arrayIDs:arrayIDs},
成功:功能(响应){
//做什么都行。
}
});
您的
main.php
文件:


您应该这样做,并认为会话是服务器端变量,因此需要这样做

其他解决方案 如果不想使用jquery,可以这样做:


var arrayIDs=[18,28,31,38,41]
var xhr=new XMLHttpRequest();
open('POST','main.php');
setRequestHeader('Content-Type','application/json');
xhr.onload=函数(){
如果(xhr.status==200){
log(JSON.parse(xhr.responseText));
}
};
send(JSON.stringify({
arrayIDs:arrayIDs
}));
其他解决方案

var arrayIDs=[18,28,31,38,41]
fetch('main.php'{
方法:“张贴”,
正文:JSON.stringify(arrayIDs),
标题:{“内容类型”:“应用程序/json;字符集=UTF-8”}
})
.then(response=>response.json())
.then(json=>console.log(json));
.catch(err=>console.log(err));

您是否检查了错误/警告日志?第一个代码段中的内容不是任何语言的有效数组声明。第二个代码段中的内容也是无效的PHP。看起来您正在尝试混合使用PHP和Javascript。首先学习两者的基本语法。我随机生成坐标,然后用循环将它们放入数组中。你根本误解了PHP和Javascript之间的关系。您正在用JavaScript创建在客户端计算机上运行的数组。您试图以某种方式将其存储在服务器上运行的PHP会话中。您需要将阵列发送到服务器才能实现这一点。您可以使用AJAX或提交表单来实现这一点。这两种方法都比您在这里采用的基本方法更复杂。强烈推荐阅读:他可以直接使用-现在得到了很好的支持,不需要jQuery。我更新了我的答案,让我们检查一下XHR比您的jQuery解决方案更古老、更麻烦。为什么不使用Fetch()(我现在更新:))