我有點卡住了,請幫助我。我試圖從HTML表單保存爲JSON文件。我沒有得到如何將數據從angularjs控制器移動到nodejs。如果我從控制器發送數據到Nodejs,我可以使用fs.write方法將表單數據保存爲json。我在這裏粘貼代碼。 我的HTML表單文件,保存爲使用Angularjs和Nodejs的HTML表單中的JSON文件
<div ng-controller="Ctrl" class="row">
<form>
<p>
<label for="Name"> Name :</label>
<input id="Name" type="text" name="Name" ng-model="store.name"/><br /><br />
</p>
<p>
<label for="age"> Age :</label>
<input id="age" type="text" name="age" ng-model="store.age"/><br /><br />
</p><p>
<label for="sex"> Sex :</label>
<input id="sex" type="text" name="sex" ng-model="store.sex"/><br /><br />
</p>
<textarea>{{store | json}}</textarea><br />
<input type="submit" class="btn btn-primary" ng-click="send()">
這裏是我的app.js文件
var app = angular.module('app',['ui.router','ui.bootstrap','ngAnimate'])
.controller('Ctrl',function($scope,$http){
$scope.data = {}
$scope.response = {}
$scope.send = function(){
var receiveddata = $scope.store;
console.log(JSON.stringify(receiveddata));})
我能夠完全打印(receiveddata)成功在控制檯上。並且輸出顯示正常。
這裏是我的server.js文件。
var express = require("express");
var http = require('http');
var path = require('path');
var bodyParser = require('body-parser');
var fs = require('fs');
var formidable = require("formidable");
var util = require('util');
var app = express();
app.set('views', __dirname + '/views');
app.set('view engine' , 'ejs');
app.use(bodyParser.urlencoded());
app.use(express.static(path.join(__dirname,'public')));
app.get('/',function(req,res){
res.render('index',{ title: 'StoreAsJson' });
});
var server = app.listen(8000,function(){
var port = server.address().port;
console.log("server is listening on port %s",port);
});
任何人都可以幫助我解決這個問題。我已經從this鏈接寫入JSON文件代碼。我
非常感謝您的回覆。我不想更改我的網址,意味着如果我去**本地主機:xxxx /用戶**我會得到JSON數據,但我不想更改我的網址。當我點擊提交時,它會在同一頁面上保存表單數據到JSON文件。 – naik3
嗨,ofc你不需要更改網址。這個例子是爲了告訴你,如果你想獲得你的用戶,你只需要調用'http.get'到'/ users'。因此,如果您需要顯示從那裏獲取的用戶數據,您只需進行一次調用,將該調用保存到一個變量中,然後以通常的方式從html中調用它。 – AndreaM16
嗨,對不起,我不知道該怎麼辦。你可以請分享任何代碼。這裏在我的上面的代碼** receiveddata **變量包含適當的JSON數據,我只需要將它發送到服務器(nodejs)並保存爲JSON文件,當我按Submit按鈕。請幫我解決這個問題。 – naik3