2016-02-13 2 views
0

index.jsПередача переменной со стороны сервера на стороне клиента JavaScript Node.js

var outputFilename = 'C:/askhere/public/javascripts/data.json'; 
        fs.writeFile(outputFilename, JSON.stringify(json_obj), "utf8", function(err) { 
         if(err) { 
          console.log(err); 
         } else { 
          console.log("Jobs Data updated in " + outputFilename + " file."); 
         } 
        }); 
res.render('graph',{uname:req.session.userName,gdata:JSON.stringify(json_obj)}); 

graph.ejs

    <script type="text/javascript" src="/javascripts/graph.js"> 

        </script> 

graph.js

  /*var data = [{"label":"1990", "value":16}, 
    {"label":"1991", "value":56}, 
    {"label":"1995", "value":16}, 
]; var data; 
    d3.json("data.json", function(error, json) { 
     if (error) {return console.log(error);} 
     else {data = json; console.log("data updated in graph.js");} 
    }); 

Сейчас этот код при получении " данных "с сервера в файле graph.js, но я не могу увидеть результат в файле graph.ejs

ответ

0

Вы можете использовать

d3.json('http://domain.com/data.json', function(data) { 
    // actual logic... 
}); 

для доступа к данным служил JSON от сервера.

В противном случае вы можете также добавить встроенный скрипт:

<script type="text/javascript"> 
    var data = <%=gdata%>; 
</script> 

Side Примечание: вы не можете иметь встроенный скрипт с СРК атрибутов

<script type="text/javascript" src="/javascripts/graph.js"> 
    var data = <%=gdata%>; // This code will be discarded 
</script> 

Кроме того, я полагаю, что вы читаете эту question, что может быть вашей основной проблемой.

+0

/* вар данные = [{ "метка": "1990", "значение": 16}, { "метка": "1995", "значение": 16}, ]; */ вар данные ; d3.json ("data.json", function (error, json) { if (error) {return console.log (ошибка);} else {data = json; console.log ("данные обновлены в графе. js ");} }); data.json файл обновляется, но нет никаких результатов График: <%=gdata%> <тип скрипта = "текст/JavaScript" SRC = "/ JavaScripts/graph.js"> – Shah038

+0

@ Shah038 что вы подразумеваете под «есть нет результатов" ? –

+0

Я не могу увидеть результат в graph.ejs, но когда я использую старую переменную данных, я вижу график результатов. – Shah038

Смежные вопросы