Node.js如何響應(yīng)Ajax的POST請(qǐng)求并且保存為JSON文件詳解
實(shí)現(xiàn)目的
使用D3.js開發(fā)的前端應(yīng)用,用戶與圖交互更改圖的內(nèi)容后,如何在下一次加載的顯示上一次最后交互的內(nèi)容?
本文提供通過后端的Node.js程序提供一種最小化方案,作為參考。
開發(fā)環(huán)境
- 后端:Node.js
- Node.js模塊:Express、body-parser、fs
- 前端:JQuery
后端
1、安裝nodejs,裝好后用顯示版本號(hào)確認(rèn)是否安裝好
node --version
2、新建一工程目錄(文件夾),安裝模塊。
npm install express npm install body-parser
Express 是一種Node.js Web 應(yīng)用程序框架:http://expressjs.com/
bodyParser是用來解析http請(qǐng)求體:https://github.com/expressjs/body-parser
3、新建一個(gè)createServer.js
var express = require('express');
var bodyParser = require('body-parser');
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){
// 對(duì)象轉(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ā)送來的請(qǐng)求。
如果請(qǐng)求來自:http://127.0.0.1:3000/saveJSON,它就會(huì)在服務(wù)器目錄下保存一個(gè)graph.json文件,文件的內(nèi)容是客戶端發(fā)送的post數(shù)據(jù)。
前端
// 創(chuàng)建一個(gè)對(duì)象
var person = {
name: "lucy",
age: 25
}
// 通過JQuery 發(fā)送POST請(qǐng)求,內(nèi)容是person
$.post("http://127.0.0.1:3000/saveJSON",person,function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
在瀏覽器加載后,后端控制臺(tái)顯示“保存完成”,這是我們?cè)趙riteFile里寫的回調(diào)函數(shù)。服務(wù)器目錄下會(huì)多一個(gè)graph.json,證明結(jié)果正確。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。謝謝大家對(duì)腳本之家的支持。
- nodejs處理http請(qǐng)求實(shí)例詳解之get和post
- Node.js中的HTTP?Server對(duì)象與GET、POST請(qǐng)求
- nodejs 使用http進(jìn)行post或get請(qǐng)求的實(shí)例(攜帶cookie)
- nodejs使用http模塊發(fā)送get與post請(qǐng)求的方法示例
- nodejs實(shí)現(xiàn)HTTPS發(fā)起POST請(qǐng)求
- node.js+postman實(shí)現(xiàn)模擬HTTP服務(wù)器與客戶端交互
- 從零開始學(xué)習(xí)Node.js系列教程一:http get和post用法分析
- 輕松創(chuàng)建nodejs服務(wù)器(10):處理POST請(qǐng)求
- nodejs之get/post請(qǐng)求的幾種方式小結(jié)
- NodeJS收發(fā)GET和POST請(qǐng)求的示例代碼
- Node發(fā)出HTTP POST請(qǐng)求的方法實(shí)例小結(jié)
相關(guān)文章
node.js中path路徑模塊的使用方法實(shí)例分析
這篇文章主要介紹了node.js中path路徑模塊的使用方法,結(jié)合實(shí)例形式分析了node.js path路徑模塊的基本功能、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2020-02-02
nodeJs爬蟲獲取數(shù)據(jù)簡(jiǎn)單實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了nodeJs爬蟲獲取數(shù)據(jù)簡(jiǎn)單實(shí)現(xiàn)代碼,感興趣的小伙伴們可以參考一下2016-03-03
基于socket.io和node.js搭建即時(shí)通信系統(tǒng)
socket.IO是一個(gè)websocket庫,包括了客戶端的js和服務(wù)器端的nodejs。官方地址:http://socket.io2014-07-07
Node.js中npm 和 peerDependencies的使用
本文詳細(xì)介紹了npm中的peerDependencies和--legacy-peer-deps使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
Windows下Node.js安裝及環(huán)境配置方法
這篇文章主要為大家介紹一下Node.js安裝及環(huán)境配置方法,這也是腳本之家小編發(fā)現(xiàn)的比較詳細(xì)的教程了,從安裝到配置都很詳細(xì),想學(xué)習(xí)Node.js的朋友可以參考一下2017-09-09
Windows部署NVM并下載多版本Node.js的方法(含刪除原有Node的方法)
這篇文章主要介紹了Windows部署NVM并下載多版本Node.js的方法(含刪除原有Node的方法),文中通過圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家了解Node.js有一定的幫助,需要的朋友可以參考下2025-01-01

