내 angular.js에서 node.js 서버의 일부 데이터를 요청하려고합니다. 문제는 데이터 응답시 json 객체가 인쇄 된 빈 브라우저 창이 나타납니다. angular.js가 응답을 인식하고 페이지에 머물러 있기를 바랍니다.Angular.js 요청/응답 Node.js
HTML 양식 -
<section class="small-container">
<div class="login-form">
<form action="/login" method="post" ng-submit="processForm()">
<input ng-model="formData.username" type="text" name="username">
<input ng-model="formData.password" type="password" name="password">
<button>login</button>
</form>
</div>
</section>
Angular.JS
가 인 LoginController에로드되는 템플릿var app = angular.module("blavor", ['ngRoute']);
app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when("/", {
templateUrl: "/index",
controller: "loginController"
})
.when("/register", {
templateUrl: "/register",
controller: "registerController"
})
.otherwise("/");
$locationProvider.html5Mode(true);
}]);
app.controller('loginController', function($scope, $http) {
$scope.formData = {};
$scope.processForm = function() {
$http({
method: 'POST',
url: '/login',
data: $.param($scope.formData),
processData: false,
responseType: "json",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).success(function(data) {
console.log(data);
if (!data.success) {
alert("Noo!");
} else {
alert("YEEEY!");
}
});
};
});
Node.js를 서버 -
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var express = require('express');
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
var routes = require('./routes')(app);
http.listen(3000, function() {
console.log('listening on *:3000');
});
module.exports.start하는 index.js = 시작;
Node.js를 서버 - 나는 AngularJS와의 v1.2.24 및 호출되지 없구요 각도에서 Node.js를의 v0.10.25
을 console.log (데이터)를 사용하고 루트
module.exports = function(app) {
app.post('/login', function(request, response) {
console.log(request.body);
response.setHeader('Content-Type', 'application/json');
response.end(JSON.stringify({value:"somevalue"}));
});
}
..
양식을 제출합니까? 이벤트에서 preventDefault를 호출 했습니까? – Gabs00
이 표현은 – anish
양식을 제출 중입니다. 서버는 request.body 또는 JSON.stringify에 넣은 다른 항목을 반환하지만 Angular.js는 페이지를 새로 고치고 응답의 json 만 표시하므로보기가 불가능합니다. 어떤 종류의 리디렉션이 node.js 부분에서 발생합니다 .. –