AngularJS'yi öğreniyorum ve ExpressJS ile Node ile doğru kabloyu nasıl bağlayacağımı bilmek istiyorum.ExpressJS AngularJS POST
Bu benim denetleyicisi geçerli:
app.controller('view1Ctrl', function($scope, $http) {
$scope.sub = function(desc) {
console.log(desc);
$http.post('/view1', desc).
then(function(response) {
console.log("posted successfully");
}).catch(function(response) {
console.error("error in posting");
})
}
});
Ve bu benim server.js geçerli:
app.post('/view1', function(req, res) {
console.log(res.desc);
res.end();
});
ben kullanmadıysanız vücut ayrıştırıcı. Denetleyicide bir işlev kullandığımda form ayrıştırıcısını html'den almak için gövde ayrıştırıcısının nasıl kullanıldığını anlamıyorum. Değerler, body-parser kullanılırken submit tıklatıldığında html'den alınıyor mu yoksa değerlerin argüman olarak form değerlerini geçirdiğim işlevden alınıyor mu? Lütfen bana nasıl yapıldığını söyle. DÜZENLEME
:
<form>
<input type="text" ng-model="desc" placeholder="Enter desc" />
<button class="btn btn-primary" ng-click="sub(desc)">Submit</button>
</form>
DÜZENLEME 2: tam server.js kodu:
var express = require('express'),
http = require('http'),
path = require('path'),
bodyParser= require('body-parser');
var app = express();
app.set('port', 3000);
app.use(express.static(path.normalize(__dirname + '/')));
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
app.get('/main', function(req, res) {
var name = 'MyNameFromServer';
res.send(name);
});
app.post('/view1', function(req, res) {
console.log(res.body.desc);
res.end();
});
http.createServer(app).listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'));
});
DÜZENLEME 3: Düzenlendi Kontrolör app.js bu benim html
app.controller('view1Ctrl', function($scope, $http) {
$scope.sub = function() {
console.log($scope.formData);
$http.post('/view1', $scope.formData).
success(function(data) {
console.log("posted successfully");
}).error(function(data) {
console.error("error in posting");
})
};
});
Düğmeye ng tıklama hakkında ne düşünüyorsunuz? Bir kez daha soyu geçmeli mi yoksa bir şeyleri iletmekle mi çağırmalıyım? – v1shnu
İhtiyacınız yok, $ kapsamına sahipsin cevabı güncelliyorum. İşte tanımsız malı 'desc' okuyamıyor .. –
, bu TypeError diyor .! Bu un undefined olduğunu söylüyor. – v1shnu