所以我试图使用ajax将测试数据发送到我的节点应用程序。我不确定发布信息我做错了什么。我把这个添加到我的脚本中我的html:
的index.html
<script type="text/javascript">
jQuery(function() {
console.log('hello');
var $ = jQuery;
$(window).ready(function() {
console.log('hello');
$.ajax({
dataType: 'jsonp',
xhrFields: {
withCredentials: true,
},
url: 'http://localhost:3000',
data: '{"data": "TEST"}',
type: 'POST',
success: function () {
console.log('Success: ');
},
error: function (xhr, status, error) {
console.log('Error: ' + error.message);
},
});
});
});
</script>
我正在尝试从我的节点应用程序接收此信息,但我不确定如何。
server.js
var express = require('express')
, cors = require('cors')
, app = express()
, http = require('http');
app.use(cors());
var server = http.createServer(app, function(req, res) {
var body = "";
req.on('data', function (chunk) {
body += chunk;
});
req.on('end', function () {
console.log(body);
res(body);
});
}).listen(3000, function(){
console.log('CORS-enabled web server listening on port 80');
});
但是,我一直在网站的控制台上收到此错误:
'GET http://localhost:3000/?callback=jQuery214011563337640836835_1442781076103& {%22data%22:%20%22TEST%22}&amp; _ = 1442781076104 n.ajaxTransport.a.send @jquery.js:8698n.extend.ajax @jquery.js:8166(匿名函数)@ final.html:534n.Callbacks.j @jquery.js:3099n.Callbacks.k.fireWith @jquery.js:3211n.extend.ready @jquery.js:3417I @jquery.js:3433
final.html:550错误:未定义'
如果这是成功的,我正在尝试创建一个表单,将输入发布到我的节点应用程序,可以用条带处理它。
答案 0 :(得分:1)
我建议您按照此处的Express JS入门指南进行操作:http://expressjs.com/starter/installing.html。具体来说,请查看Express生成器和基本路由的各个部分。
在您的代码中,您需要Express模块,但实际上并未使用它,而且此模块是处理node.js中帖子的最强大方法。
如果您仍想使用http模块处理帖子请求,请查看:Node.js server that accepts POST requests。它还提供了有关使用Express JS的更多信息