【发布时间】:2017-01-06 10:16:41
【问题描述】:
我要通过 Angular js 将用户输入的文本发送到 Node js 问题是节点 js 服务器识别事件但没有获取数据并打印它我知道我在代码中犯了一些错误并且不知道如何修复它。有人可以请修复此代码。
angular.js
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.submit= function(){
var data = {
id : "Angkirat"
Password : "Sandhu"
}
$http.post("http://localhost:8081/meow", data)
.success(function(req,res) {
console.dir(req.body);
res.send(req.body);
alert("hogaya")
}).error(function() {
});
}
});
服务器.js
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var cors = require('cors');
var http = require("http");
var fs = require("fs");
var url = require("url");
var display = "";
http.createServer(function(request,response){
var pathname = url.parse(request.url).pathname;
console.log("Request for" + pathname + "received.");
fs.readFile(pathname.substr(1),function (err,data){
if(err){
console.log(err);
response.writeHead(404, {'Content-Type': 'text/html'});
}else{
response.writeHead(200, {'Content-Type': 'text/html'});
response.write(data.toString());
}
app.use(cors());
app.use(bodyParser.json());
app.post('/meow', function(req, res){
var cope = req.body.params;
display = cope;
console.log(cope);
});
response.end();
});
}).listen(8080);
console.log(display)
请有人帮我解决这个问题。
【问题讨论】:
-
您是否尝试“req.body”来获取数据而不是“req.body.params”我认为这是问题
-
您还应该检查您使用的角度版本。从 Angular 1.6 开始,您不再能够将
.success()和.error()与$http.post一起使用。请改用.then()。 -
.error(function() { }— 您是否考虑过编写一个错误函数,当您收到错误时实际报告错误?! -
版本是1.0.4,帖子连错误都没有显示
标签: javascript angularjs node.js angularjs-1.6