将多维Javascript数组保存到服务器端CSV
Saving multidimensional Javascript array to server-side CSV
我正在尝试将多维Javascript数组保存为服务器上的CSV文件。到目前为止,我的代码创建了CSV文件,但该文件不包含我的数组,我不知道为什么。
(其中建立outputData)
function dataSave(){
outputStr = JSON.stringify(outputData);
$.ajax({
type: "POST",
url: "csvout.php",
data: outputStr,
dataType: 'html',
});}
csvout.php:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<?php
$array = json_decode($_POST['outputStr']);
$file = fopen("out/data.csv","w");
foreach ($array as $line){
foreach ($line as $item){
fputcsv($file,explode(',',$item));
}
}
fclose($file);
?>
</head>
<body>
</body>
</html>
数据是一个像这样的数组数组——它是从参与科学实验的客户那里获得的数据。一切都是一根绳子。
0: "tuba.mp3"
1: "prac"
2: "1"
3: "0"
4: "type1"
5. "500"
0: "clap.mp3"
1: "main"
2: "0"
3: "0"
4: "type1"
5. "300"
[...]
您正在传递一个原始JSON字符串作为查询参数,但试图将其作为命名参数进行访问。更新代码:
function dataSave(){
outputStr = JSON.stringify(outputData);
$.ajax({
type: "POST",
url: "csvout.php",
data: { outputStr: outputStr },
dataType: 'html',
});}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<?php
$array = json_decode($_POST['outputStr']);
adding var_dump($array); here produces NULL
$file = fopen("out/data.csv","w");
foreach ($array as $line){
fputcsv($file,$item);
}
fclose($file);
?>
</head>
<body>
</body>
</html>
相关文章:
- 如何使用skip参数使用angular ui引导进行服务器端分页
- Webpack开发服务器和React服务器端渲染
- 提示使用服务器端事件处理程序激活JavaScript
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 将表单数据提交到服务器端
- 使用ajax的服务器端分页&jQuery
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 使用FormData上传AJAX图像;t在服务器端显示图像
- React路由器服务器端渲染和ajax获取数据
- renderReact/Rect Router+Node/Express.js的服务器端/同构渲染中未定义renderP
- Meteor如何运行服务器端python脚本
- CORS-服务器端cookie没有保存在chrome浏览器上
- 将多维Javascript数组保存到服务器端CSV
- 用javascript(服务器端)将大型CSV文件转换为JSON数组:处理内存不足问题
- 用于导出到CSV/Excel的数据URI(无服务器端请求):浏览器支持/限制
- JQuery误读服务器端csv文件
- 使用javascript搜索服务器端CSV
- 如何:基本的HTML表单发送电子邮件和/或CSV文件在本地服务器上发布(没有服务器端脚本)