實現目的
使用D3.js開發的前端應用,用戶與圖交互更改圖的內容后,如何在下一次加載的顯示上一次最后交互的內容?
本文提供通過后端的Node.js程序提供一種最小化方案,作為參考。
開發環境
后端
1、安裝nodejs,裝好后用顯示版本號確認是否安裝好
node --version
2、新建一工程目錄(文件夾),安裝模塊。
npm install expressnpm install body-parser
Express 是一種Node.js Web 應用程序框架:http://expressjs.com/
bodyParser是用來解析http請求體:https://github.com/expressjs/body-parser
3、新建一個createServer.js
var express = require('express');var bodyParser = require('body-parser');var fs = require('fs');var app = express();// bodyParser.urlencoded解析form表單提交的數據app.use(bodyParser.urlencoded({extended: false}));// bodyParser.json解析json數據格式的app.use(bodyParser.json());app.post('/saveJSON',function(req, res){ // 對象轉換為字符串 var str_json = JSON.stringify(req.body); fs.writeFile('graph.json', str_json, 'utf8', function(){ // 保存完成后的回調函數 console.log("保存完成"); });});app.listen(3000);
4、運行createServer.js
Node createServer.js
它會監視 http://127.0.0.1:3000 發送來的請求。
如果請求來自:http://127.0.0.1:3000/saveJSON,它就會在服務器目錄下保存一個graph.json文件,文件的內容是客戶端發送的post數據。
前端
// 創建一個對象var person = { name: "lucy", age: 25}// 通過JQuery 發送POST請求,內容是person$.post("http://127.0.0.1:3000/saveJSON",person,function(data, status){ alert("Data: " + data + "/nStatus: " + status);});
在瀏覽器加載后,后端控制臺顯示“保存完成”,這是我們在writeFile里寫的回調函數。服務器目錄下會多一個graph.json,證明結果正確。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。謝謝大家對VeVb武林網的支持。
新聞熱點
疑難解答
圖片精選