- 相關(guān)推薦
Node.js如何響應(yīng)Ajax的POST請求并且保存為JSON文件詳解
實(shí)現(xiàn)目的
使用D3.js開發(fā)的前端應(yīng)用,用戶與圖交互更改圖的內(nèi)容后,如何在下一次加載的顯示上一次最后交互的內(nèi)容?
本文提供通過后端的Node.js程序提供一種最小化方案,作為參考。
開發(fā)環(huán)境后端:Node.jsNode.js模塊:Express、bodyparser、fs前端:JQuery
后端
1、安裝nodejs,裝好后用顯示版本號(hào)確認(rèn)是否安裝好
node version
2、新建一工程目錄(文件夾),安裝模塊。
npm install expressnpm install bodyparser
Express 是一種Node.js Web 應(yīng)用程序框架:http://expressjs.com/
bodyParser是用來解析http請求體:https://github.com/expressjs/bodyparser
3、新建一個(gè)createServer.js
var express = require('express');var bodyParser = require('bodyparser');var fs = require('fs');var app = express();// bodyParser.urlencoded解析form表單提交的數(shù)據(jù)app.use(bodyParser.urlencoded({extended: false}));// bodyParser.json解析json數(shù)據(jù)格式的app.use(bodyParser.json());app.post('/saveJSON',function(req, res){// 對象轉(zhuǎn)換為字符串var str_json = JSON.stringify(req.body); fs.writeFile('graph.json', str_json, 'utf8', function(){// 保存完成后的回調(diào)函數(shù)console.log("保存完成");});});app.listen(3000);
4、運(yùn)行createServer.js
Node createServer.js
它會(huì)監(jiān)視 http://127.0.0.1:3000 發(fā)送來的請求。
如果請求來自:http://127.0.0.1:3000/saveJSON,它就會(huì)在服務(wù)器目錄下保存一個(gè)graph.json文件,文件的內(nèi)容是客戶端發(fā)送的post數(shù)據(jù)。
前端
// 創(chuàng)建一個(gè)對象var person = {name: "lucy",age: 25}// 通過JQuery 發(fā)送POST請求,內(nèi)容是person$.post("http://127.0.0.1:3000/saveJSON",person,function(data, status){alert("Data: " + data + " Status: " + status);});
在瀏覽器加載后,后端控制臺(tái)顯示“保存完成”,這是我們在writeFile里寫的回調(diào)函數(shù)。服務(wù)器目錄下會(huì)多一個(gè)graph.json,證明結(jié)果正確。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。謝謝大家對的支持。
……
【Node.js如何響應(yīng)Ajax的POST請求并且保存為JSON文件詳解】相關(guān)文章:
Ajax使用JSON數(shù)據(jù)格式案例分析01-10
Android讀取本地json文件的方法03-29
如何利用ajax獲取博文列表03-18
關(guān)于如何解決顯示器驅(qū)動(dòng)程序已停止響應(yīng)并且已成功恢復(fù)的問題01-29