我正在尝试创建一个具有保存和加载功能的拖放表。我正在使用REDIPS.drag中的代码。
使用REDIPS保存功能时,表格内容将从客户端返回到控制台并发出如下警告:
[["d2",2,2,"blue","A1"],["d1",4,5,"blue","A2"],["d3",3,2,"blue","A3"],["d4",1,4,"blue","A4"]].
我尝试了几种不同的方法将数据发送到节点并将其写入文件。
使用这种方法:
的script.js
$.ajax({
type: "POST",
url:"post6/json",
data: {table_content},
dataType:'json',
contentType: "application/x-www-form-urlencoded"
});
App.js
var testjson = req.body;
var tablestringify2 = JSON.stringify(testjson);
fs.writeFile('views/test.json', tablestringify2,'utf8', function (err) {
if (err) {
// append failed
} else {
// done
}
})
保存到文件的数据是:
{"table_content":"[[\"ns1.8b\",3,1,\"\",\"ns1.8b\"],[\"ns3.1\",4,2,\"\",\"ns3.1\"]]"}
使用这种方法:
的script.js
$.ajax({
type: "POST",
url:"post6/json",
data: table_content,
dataType:'json',
});
数据保存到文件中:
{"[":{"\"ns1.8b\",3,0,\"\",\"ns1.8b\"":{"\"ns3.1\",3,2,\"\",\"ns3.1\"":""}}}
当我使用GET时,我会解析返回的数据;
{ table_content: '[["ns1.8b",3,1,"","ns1.8b"],["ns3.1",5,3,"","ns3.1"]]' }
或
{[:{"ns1.8b",3,0,"","ns1.8b":{"ns3.1",3,2,"","ns3.1":""}}}
使用REDIPS加载功能无法将表单加载回表中。
有什么办法可以用以下格式获取数据;
[["ns1.8b",3,0,"","ns1.8b"],["ns3.1",3,2,"","ns3.1"]]
...在客户端返回?
或者可以将它保存到文件中吗?
答案 0 :(得分:0)
在客户端执行stringify:
$.ajax({
type: "POST",
url:"post6/json",
data: {table_content: JSON.stringify(table_content)},
dataType:'json',
});
在服务器端,您应该能够访问req.body.table_content
,这将是数组的(JSON)字符串表示。