[英]Ajax Post to Node.js Server
我有一个使用express构建的节点应用程序,并且我一直在尝试将ajax发布请求发送到节点服务器。 但是,尽管在这里阅读了许多类似问题的答案,但即使我应该编辑哪些文件,我仍难以解决。 很长时间以来,我一直试图在一个route.js文件中使用http.createServer。 当然,这意味着我无法在与应用程序相同的端口上运行服务器,因为bin-> www文件中已经实例化了服务器。 因此,今天早上,我编辑了bin www文件,以便在向其发送数据时记录该消息。 但是,尽管该功能在我在第二台服务器上进行测试时已经起作用,但是当我将其添加到bin-> www文件中的服务器时,响应不再触发。 实际上,我什至不认为我的Ajax请求已到达服务器。 为了清楚起见,ajax请求写在script.js中,这是公用文件夹中的客户端文件,并被发送到节点服务器,该服务器在bin-> www文件中实例化。 这是我的代码:
***bin -> www file***
var http = require('http');
var util = require('util')
var server = http.createServer(app,function (req, res) {
console.log('Request received: ');
util.log(util.inspect(req))
util.log('Request recieved: \nmethod: ' + req.method + '\nurl: ' + req.url)
res.writeHead(200, { 'Content-Type': 'text/plain' });
req.on('data', function (chunk) {
console.log('GOT DATA!');
got = chunk.toString(data);
console.log(got)
});
res.end();
}).listen(3000);
console.log('Server running on port 3000')
***Script.js -> Client File***
$.ajax({
url: 'http://localhost:3000',
data: '{"abcdefghijklmnopqrstuvwxyz": ""}',
type: 'POST',
success: function (data) {
var ret = jQuery.parseJSON(data);
console.log(ret)
console.log('Success: ')
},
error: function (xhr, status, error) {
console.log('Error: ' + status);
},
});
请帮忙! 非常感谢 :)
设法得到它。 而不是使用ajax,我只是使用了一个简单的发布请求。 mar shampla:
script.js(客户端)
$.post('/',
{
customData: favourites
},
function(data){
console.log("message sent");
});
和服务器回调(在路由中)
router.post('/', function(req, res, next) {
var param = req.param('customData');
console.log(param+" = new received post");
console.log("old stormpath = "+req.user.customData.favLoi8ist);
req.user.customData.favList = param;
req.user.customData.save();
newD = param;
res.send(200, param);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.