gpt4 book ai didi

javascript - 将 map 数组传递给 PHP 页面

转载 作者:行者123 更新时间:2023-11-30 14:08:07 33 4
gpt4 key购买 nike

对于我的项目,我正在使用这个:

var arr = new Map(); 用JS创建 map 。

每次点击元素后,我都会使用它来填充 map 。

arr.set(roomid + '_' + date, {
status: updatedStatus,
date: date,
roomid: roomid
});

点击几下后,在控制台面板上,我有:

[Log] Map {"48_2019-03-09" => {status: "Open", date: "2019-03-09", roomid: 48}, "48_2019-03-19" => {status: "Open", date: "2019-03-19", roomid: 48}} (2) (app.js, line 93)

所以,这就是我想要的。

现在我需要像这样通过 Ajax 将这些数据传递给 PHP:

$.ajax({
type: 'POST',
data: { datas: arr },
url : 'update.php',
success: function(responseText){
...
}
});

在我的 PHP 页面上,我有以下代码:

$arr = $_POST;
print_r($arr);

但是这段代码输出:

Array
(
)

但这不起作用,因为我的 PHP 页面打印了一个空数组。

请问我做错了什么?

谢谢。

最佳答案

您需要将 map 转换为 json 对象。据我所知,最简单的方法是进行字符串化,然后解析为 JSON 对象。

JSON.parse(JSON.stringify([...arr]))

$.ajax({
type: 'POST',
data: { datas: JSON.parse(JSON.stringify([...arr])) },
url : 'update.php',
success: function(responseText){
...
}
});

引用:http://2ality.com/2015/08/es6-map-json.html

关于javascript - 将 map 数组传递给 PHP 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54988090/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com