2017-01-05 82 views
1

我很樂意在以下主題上獲得一些幫助,因爲我沒有設法通過它。 我的目標是收集服務器端的一些數據(到目前爲止我使用alasql將我的CSV文件轉換爲sql表格),然後將其作爲參數傳遞給客戶端,以在客戶端執行其他SQL操作方(再次與alasql)。 到目前爲止,我suceeded在將從alasql創建的sql表從服務器(node.js)傳遞到客戶端(ejs)

  • 轉化的CSV文件導入到SQL表感謝alasql
  • 從服務器端傳遞參數到客戶端

,但我沒能

  • 傳遞SQL表本身從服務器端向客戶端作爲參數

我最好在試圖這樣做的結果是

`input=[object Object],[object Object],...` 

,而不是SQL表我所期望的,它給出了一個錯誤的

我在服務器端的代碼如下:

var express = require('express'); 
var session = require('cookie-session'); // Charge le middleware de sessions 
var bodyParser = require('body-parser'); // Charge le middleware de gestion  des paramètres 
var urlencodedParser = bodyParser.urlencoded({ extended: false }); 
var alasql=require('alasql'); 

var app = express(); 

var input=0; 

alasql('SELECT * FROM CSV("public/data/output.csv",{separator:";"})',[],function(data){ 
    input=data; 
    console.log(1) 
}); 

/* On utilise les sessions */ 
app.use(session({secret: 'TBC'})) 

/* S'il n'y a pas de todolist dans la session, on en crée une vide sous forme d'array avant la suite */ 
.use(function(req, res, next){ 
    next(); 
}) 

.use(express.static(__dirname + '/public')) 

/* On affiche la todolist et le formulaire */ 
.get('/segmentation_clients', function(req, res) { 
    console.log(input); 
    var Commercial='U.Morel'; 
    res.render('segmentation_clients.ejs', {Commercial:'U. Morel',input:input}); 
}) 

.listen(8080); 

在客戶端側的JS代碼的開頭(segmentation_clients.ejs):

var Commercial="<%=Commercial%>"; 
var input= <%=input%>; 
console.log(input); 

代碼的輸出(確定爲#Commercial參數,但不正常的#INPUT SQL表): enter image description here

我將不勝感激關於這個主題的幫助

非常感謝 斯特凡

回答

0

我終於得到了解決:

  • 在服務器端,我換成input:input

input:JSON.stringify(input) 
  • 在客戶端,我取代var input= <%=input%>;

var input= <%-input%>; 

的第一個問題是格式的問題(解決通過變換輸入以JSON格式),而第二個問題是abou噸評估與所述ARRY內的數據「 - 」,而不是僅讀它「=」,據我理解

最佳 斯特凡

相關問題