编辑:
节点/快速代码插入sqlite数据库:
var db = new sqlite3.Database('db/gnarboxmm.db');
router.post('/api/jobs', function(req,res){
tsql = "INSERT INTO Jobs ('Job_File_Name', 'Job_Transporter_ID') VALUES ('"+req.body.File_Name+"','"+req.body.Trans_ID+"')";
console.log(tsql);
db.run(tsql, function(err,rows){
res.end("success");
});
});
更新:我改变了我的代码,现在更近了。通过在forEach循环中添加$ http请求,我更接近我需要的东西。新代码在这里:
angular.forEach($rootScope.moveArray, function(value){
$http.post('/api/jobs', {'File_Name':value,
'Trans_ID':'Backup'});
}, $rootScope.jobData);
仍然不太好。服务器端的请求对象现在显示两个有效条目(其中定义了File_Name和Trans_ID),但是有第三个" undefined"条目。
我正在尝试收集用户与我的视图交互的一系列文件名,然后将文件名实现为要在$ http.post中发送到服务器的对象。
到目前为止,我已经成功创建了一个数组,并将数组项解析为一个准备好的对象数组。这是我用来从我的数组中创建对象的代码块" $ rootScope.moveArray"
$scope.sendBackup = function(){
angular.forEach($rootScope.moveArray, function(value){
this.push({'File_Name':value,
'Trans_ID':'Backup'});
}, $rootScope.jobData);
console.log($rootScope.jobData);
console.log返回" [object,object]"当我向下钻取时,我得到了两个具有正确分配的File_Name和Trans_ID的对象。
这是我遇到麻烦的地方。我使用$ http.post:
$http.post('/api/jobs', $rootScope.jobData);
在服务器端签入。我使用快递& bodyparser用于处理API路由和req / res对象。使用代码如何在上面,当我记录属性" File_Name"和" Trans_ID"对于req对象,我得到了未定义。我做了一些实验。如果我给$ rootScope.jobData一个索引值($ rootScope.jobData [0]),$ http.post将对数组中的第一个对象起作用。请求对象看起来应该与File_Name:' / validPath'和Trans_ID:'备份'
我的直觉是,我需要为$ rootScope.jobData使用另一个forEach循环来使$ http.post正常工作。到目前为止,我还没有成功实现这一目标。有谁知道这个问题的解决方案?我怀疑角度没有用于发布对象数组的机制,并且认为它是我不熟悉的事实。