【发布时间】:2018-10-10 23:30:18
【问题描述】:
我是 AngularJS、Node 和 Express 的初学者。
我什至连最基本的路由都无法使用 $http.get 或 $http.post。
我在网上找到的每个示例都忽略了文件名、Angular 控制器路径和服务器中的路由路径之间的关系。他们只显示代码而不显示路径和文件名。
这是我的 html 文件:“/programs/static/example.html”:
<!DOCTYPE html>
<html ng-app="exampleApp">
<head>
</head>
<body>
<div ng-controller="exampleController">
<input type="submit" value="Click me" ng-click="request()">
</div>
<script src="http://code.angularjs.org/1.6.9/angular.min.js"></script>
<script src="/js/example-controller.js"></script>
</body>
</html>
这是我的 Angular 控制器:“/programs/static/js/example-controller.js”
var exampleApp = angular.module('exampleApp', []);
exampleApp.controller('exampleController', function($scope) {
$scope.request = function() {
data="test";
$http.post("/" , data);
};
});
这是我的 NodeJS 服务器:“/programs/node-server.js”
var express = require("express");
var app = express();
app.use('/', express.static('./static'));
app.post('/example.html/', function(req, res){
console.log("request received.");
});
app.listen(80);
问题是我的服务器的控制台没有显示“收到请求”。这是我构建的一个示例应用程序,只是为了将其发布到 Stack Overflow。在我的真实应用中,我尝试了尽可能多的不同路线。我可以让我的节点服务器中的 app.get() 使用简单的 URL(不是 $http 方法)工作。但从我的测试中很明显,我的 Angular 控制器没有发送任何请求,或者服务器没有接收到它们。
【问题讨论】:
-
在你的控制器中注入 $http 依赖:exampleApp.controller('exampleController', function($scope, $http)...
-
如果您真的告诉我们问题出在哪里,这将对我们有很大帮助。什么不工作?什么是错误消息(如果有)。包括 AngularJS(在浏览器开发工具中)和 Express 服务器的错误消息
-
@RicardoTribaldos 我添加了依赖项,但它不起作用。
-
@Pop-A-Stash 问题是我服务器的控制台没有显示“收到请求”。这是我构建的一个示例应用程序,只是为了将其发布到 Stack Overflow。在我的真实应用中,我尝试了尽可能多的不同路线。我可以让我的节点服务器中的 app.get() 使用简单的 URL(不是 $http 方法)工作。但从我的测试中很明显,我的 Angular 控制器没有发送任何请求,或者服务器没有收到它们。
-
如果您有更多信息,请编辑您的原始问题。不要将其添加到 cmets。评论不像您的问题那样明显,这将有助于其他人帮助您
标签: angularjs node.js express routes