2014-02-27 114 views
0

我正在尝试从Angularjs向Express js发出一个Ajax请求。下面的代码是我的angularjs和表达js路线。 问题是我得到500服务器错误,当我做一个POST和GET似乎没有任何问题的工作Angularjs Ajax Post to Epressjs

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); 
+0

什么给网络控制台? –

+2

str的内容是什么?您可能需要发布JSON。另外,如果你使用'$ http.post('/ abc',...)',它可能会更好。 –

+0

500内部服务器错误19ms \t angular.js(line 9002) “NetworkError:500 Internal Server Error - http:// localhost:3000/abc” – Madhu

回答

1

试着改变你的代码是这样的:

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

应用。 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"); 
}); 
} 

这是一个非常基本的应用程序,应该没有问题的工作。不知道你在哪里不同,但这是一个bsic模板。