如何调用用nodejs编写的服务形式angular
How call a service wrote with node js form angular
我已经使用node编写了这个服务,它可以工作,但我不知道如何从angularjs控制器调用它,我不得不调用post方法
这是服务:
var app = require('express')();
var http = require('http').Server(app);
var mysql = require('mysql');
var bodyParser = require("body-parser");
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'repositorio',
});
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.get('/',function(req,res){
var data = {
"error":1,
"Usuarios":""
};
connection.query("SELECT * from usuario",function(err, rows, fields){
if(rows.length != 0){
data["error"] = 0;
data["Usuarios"] = rows;
res.json(data);
}else{
data["Usuarios"] = 'Usuarios no encontrados..';
res.json(data);
}
});
/*var data = {
"Data":""
};
data["Data"] = "Welcome to Book Store DEMO...";
res.json(data);*/
});
app.post('/usuario',function(req,res){
var Email = req.query.correo;
var Password = req.query.contrasena;
var Nombres = req.query.nombres;
var Apellidos = req.query.apellidos;
var Usuario = req.query.usuario;
var data = {
"error":1,
"Usuario":""
};
console.log("Email: "+Email+" Password "+Password+" Nombres "+Nombres+" Apellidos "+Apellidos+" Usuario"+Usuario);
if(!!Email && !!Password && !!Nombres && !!Apellidos && !!Usuario){
var user ={usu_correo: Email,usu_contrasena: Password,usu_nombres:Nombres,usu_apellidos: Apellidos,usu_usuario:Usuario}
connection.query('INSERT INTO usuario SET ?',user,function(err, rows, fields){
if(!!err){
data["Usuario"] = "Error Adding data";
}else{
data["error"] = 0;
data["Usuario"] = "Usuario adicionado con éxito";
}
res.json(data);
});
}else{
data["Usuario"] = "Please provide all required data";
res.json(data);
}
});
http.listen(8080,function(){
console.log("Connected & Listen to port 8080");
});
这是我试图将其与angular连接,我需要帮助,请
var app = angular.module('el_acorde_web', []);
app.controller('usuarioscontroller', function($scope, $http)
{
$scope.usuario = {};
$scope.usuario.correo = "davidstl5@gmail.com";
$scope.usuario.nombres = "David Fernano";
$scope.usuario.apellidos = "Sotelo";
$scope.usuario.contrasena = "lakjsdlfkja";
$scope.usuario.usuario = "davidstl5";
$scope.registrar = function(){
$http.post('http://localhost:8080/usuario', $scope.usuario)
.success(function(data)
{
alert(data);
})
.error(function(data)
{
alert('Error:' + data);
});
}
});
您的代码看起来不错,我能看到您调用registrator函数的HTML代码吗?如果其他一切都正常,您似乎只需要添加ng-click指令,为了获得最佳实践,我会创建一个工厂或服务,并在那里调用一个与Node应用程序交互的函数。
我找到了解决方案!Chrome是我们安装的问题https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en
然后使用:
$scope.registrar = function(){
alert("Entre");
/*$http.post('http://localhost:8080/usuario', $scope.usuario)
.success(function(data)
{
alert(data);
})
.error(function(data)
{
alert('Error:' + data);
});*/
var datos = {correo: $scope.usuario.correo, contrasena: $scope.usuario.contrasena,
nombres:$scope.usuario.nombres, apellidos: $scope.usuario.apellidos,
usuario: $scope.usuario.usuario};
var request = $http({
method: "POST",
url: "http://localhost:8080/usuario",
data: datos,
headers: { 'Content-Type': 'multipart/form-data', 'Authorization': 'Basic ' + btoa(datos),
'Access-Control-Allow-Origin': "*"}
});
request.success(
function( data ) {
alert(data);
}
);
request.error(
function( data ) {
alert(data);
}
);
}
一切正常!
相关文章:
- 使用angular.js问题的JavaSpringREST服务
- Angular使服务可以从任何地方访问
- Angular 2和服务单元测试
- Angular js-尚未添加PUT请求到服务的URL
- 可以't访问Angular.js服务中的功能
- 通过服务Angular向服务器发送$routeParam
- chrome.storage.sync.get未返回值-Angular服务
- 如何在angular中使构造函数之外的服务可用
- Http服务工厂将未定义的返回到Angular中的控制器
- 如何调用用nodejs编写的服务形式angular
- 由控制器调用的服务更改时,Angular未更新视图
- 正在Angular 2中的扩展RouterOutlet中导入自定义服务以进行身份验证
- 将Browserify与Angular JS结合使用--将服务传递到控制器中
- AngularJS剑道网格绑定到angular服务webapi-当使用[fromuri]进行解析时,排序总是为null
- Angular JS$编译服务导致$watch内存泄漏
- 如何在angular js中的工厂/服务中使用$cookie
- angular如何在我的情况下设置服务
- 在一个服务中引用多个API调用(Angular)
- 使用web服务Java-angular时出现错误404
- $http服务angular不工作