【问题标题】:Passing json from Angular JS to Node JS将 json 从 Angular JS 传递到 Node JS
【发布时间】: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


【解决方案1】:

你可以试试这个

var data = {
  book: {            
    author: $scope.author,
    title : $scope.title,
    body : $scope.body
  }
}

$http.post("/", data).success(function(data, status) {
    console.log('Data posted successfully');
})

【讨论】:

  • 我面临的问题是 res.status(200).send('Ok')。它没有发送 OK @sunil
  • 请帮我重新路由
猜你喜欢
  • 2020-10-17
  • 2018-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-09
  • 1970-01-01
  • 2021-11-30
  • 1970-01-01
相关资源
最近更新 更多