【发布时间】:2017-04-08 12:51:27
【问题描述】:
我正在尝试将我的前端(Angular)和后端(Node)结合起来,但是有些前端没有将 json 传递给后端
这是我使用 Angular-js 编写的 html 代码
索引.html
<html>
<head>Testing
<script src = "angular.min.js" ></script>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope,$http) {
$scope.submit= function(){
var data = $.param({
book: JSON.stringify({
author: $scope.author,
title : $scope.title,
body : $scope.body
})
});
console.log(data)
$http.post("/", data).success(function(data, status) {
console.log('Data posted successfully');
})
}
});
</script>
</head>
<body ng-app="myApp">
<div ng-controller="myCtrl">
<form>
Author:
<input type="text" ng-model="author">
<br>
<br> Title:
<input type="text" ng-model="title">
<br>
<br> Body:
<input type="author" ng-model="body">
<br>
<br>
<input type="submit" value="Submit" ng-click="submit()">
</form>
</div>
</body>
</html>
我的节点应用程序如下所示。
服务器.js
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.get('/', function(req, res){
res.sendFile(__dirname +'/index.html');
});
app.post('/', function(req,res,next){
console.log(req.body)
res.status(200).send('Ok')
})
console.log('server running at 3000!')
app.listen(3000);
我的浏览器在'/' 路径上获取 Index.html,但是当我提交时没有任何反应。
提前致谢
【问题讨论】:
-
你分析过正在发送的数据吗?喜欢使用 chrome 开发工具网络选项卡。还是一开始就没有发出请求?
-
在检查页面时,它无法加载“angular.min.js”,但我把它放在同一个文件夹中我不知道为什么会发生@GilbertNwaiwu
-
你是说 angular.min.js 根本不加载吗?
-
是的。我用过它的在线版本
-
这正是问题所在。我试过用“node-modules/angular/angular.min.js”和“angular.min.js”将文件放在两个位置,但它没有加载
标签: javascript angularjs json node.js express