我是Javascript和节点JS的初学者,我创建了非常简单的NodeJs Express服务器来从客户端获取一些消息并返回结果
(实际上,我在GitHub上找到了它
https://gist.github.com/diorahman/1520485)
但无法正常工作 感谢您为解决此问题所提供的帮助。
/*Server side Code server.js*/
var express = require('express');
var app = express();
/*app.use(express.bodyParser());*/
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
})
/*app.get('/endpoint', function(req, res){
var obj = {};
obj.title = 'title';
obj.data = 'data';
console.log('params: ' + JSON.stringify(req.params));
console.log('body: ' + JSON.stringify(req.body));
console.log('query: ' + JSON.stringify(req.query));
res.header('Content-type','application/json');
res.header('Charset','utf8');
res.send(req.query.callback + '('+ JSON.stringify(obj) + ');');
});*/
app.post('/endpoint', function(req, res){
console.log('Get request By Client');
var obj = {};
console.log('body: ' + JSON.stringify(req.body));
res.send(req.body);
});
在客户端,我使用此代码从服务器获取数据
/*client side code: client.html*/
<html>
<head>
<title>jsonp test</title>
<script src="http://code.jquery.com/jquery-1.6.2.min.js">
</script>
<script type="text/javascript">
$(function(){
$('#select_link').click(function(e){
e.preventDefault();
console.log('select_link clicked');
/*$.ajax({
dataType: 'jsonp',
data: "data=yeah",
jsonp: 'callback',
url: 'http://localhost:3000/endpoint?callback=?',
success: function(data) {
console.log('success');
console.log(JSON.stringify(data));
}
});*/
var data = {};
data.title = "title";
data.message = "message";
$.ajax({
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
url: 'http://192.168.1.175:3000/endpoint',
success: function(data) {
console.log('success');
console.log(JSON.stringify(data));
}
});
/*$.ajax('http://localhost:3000/endpoint', {
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
success: function() { console.log('success');},
error : function() { console.log('error');}
});*/
});
});
</script>
</head>
<body>
<div id="select_div"><a href="#" id="select_link">Test</a></div>
</body>
我真的需要这段代码,因为我正在用Angular JS编写项目 监视星号事件。 如果您对此事有任何意见,我将很高兴。
答案 0 :(得分:-3)
可能会出现多个问题:
这可能是一个CORS问题:(为避免出现cors问题,建议您使用名为“ cors”的npm软件包。它非常易于使用:
const cors = require('cors')
然后只需在app.use(cors())
前面添加app.listen(3000, function () {})
。
data
对象,因此可能是解析问题 console.log('Example app listening on port 3000!')
是否显示在您的控制台中?
一个好主意是使用“邮递员” {{3}}之类的工具来测试您的api /后端