【问题标题】:Angularjs Ajax Post to EpressjsAngularjs Ajax 发布到 Epressjs
【发布时间】:2014-02-28 01:24:39
【问题描述】:

我正在尝试从 Angularjs 向 Express js 发出 Ajax 请求。下面的代码是我的 angularjs 和 express js 路由。 问题是我在进行 POST 时收到 500 Server 错误,并且 get 似乎可以正常工作

AngularJs 代码

$http.post('http://www.mydomin.com/abc',str)
.success(function(data) {
  alert(data);
})
.error(function(data) {
  alert(1);
});

这里的 str 可以只是一个字母或任何东西 str= 't';例如

ExpressJs 路线

module.exports = function(app) {
  app.post('/abc', function(req, res) {
    console.log('ggg');
  });
};

这条路由也被添加到 app.js 中

require('./routes/test')(app);

【问题讨论】:

  • 什么给网络控制台?
  • str的内容是什么?您可能需要发布 JSON。另外,使用$http.post('/abc', ...) 可能会更好。
  • 500 内部服务器错误 19ms angular.js(第 9002 行)“NetworkError:500 内部服务器错误 - localhost:3000/abc
  • str 可以是单个字母,也可以是say str = m;
  • 你试过调试服务器吗?它到底在哪里失败了?

标签: javascript ajax node.js angularjs express


【解决方案1】:

试着把你的代码改成这样:

$http.post('/abc',{name: str})
    .success(function(data) {
        alert(data);
    })
    .error(function(data) {
        alert(1);
});

【讨论】:

    【解决方案2】:

    app.js

    var express = require('express');
    var app = express.createServer();
    
    app.configure(function(){
      app.use(express.json());
      app.use(express.urlencoded());
    });
    require('./routes/test')(app);
    
    app.listen(3000);
    

    路由/test.js

    module.exports = function(app){
    app.post('/abc', function(req, res){
      console.log(req.body);
      res.send("ok");
    });
    }
    

    这是一个非常基本的应用程序,应该可以正常运行。不确定您的不同之处,但这是一个基本的模板。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2010-12-25
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      • 2015-04-17
      相关资源
      最近更新 更多