【问题标题】:Ajax Post to Node.js ServerAjax 发布到 Node.js 服务器
【发布时间】:2015-06-27 12:13:47
【问题描述】:

我有一个使用 express 构建的节点应用程序,并且多年来我一直在尝试向节点服务器发送 ajax 发布请求。然而,尽管在这里阅读了许多类似问题的答案,但我仍然难以掌握我应该编辑的文件。很长一段时间以来,我都试图在其中一个 routes.js 文件中使用 http.createServer 。这当然意味着我不能在与应用程序相同的端口上运行服务器,因为 bin -> www 文件中已经实例化了一个服务器。因此,今天早上我编辑了 bin www 文件,以便在向其发送数据时记录一条消息。然而,尽管这个功能在我在第二台服务器上测试它时已经工作,但当我添加它时不再触发响应,因此在 bin-> www 文件中的服务器上具有相同的功能。事实上,我什至不认为我的 ajax 请求已经到达服务器了。为了清楚起见,ajax 请求是用 script.js 编写的,它是 public 文件夹中的客户端文件,并被发送到在 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);
        },
    });

请帮忙!非常感谢:)

【问题讨论】:

  • 路线在哪里?
  • 没关系,我明白了。你是对的,回调必须在路线中。感谢回复!
  • 你做到了吗?
  • @Lucas Costa 是的,我把我的代码扔到了下面。如果你好奇我为什么要发出这样的服务器请求:zaos.tk。这就是我一直在努力的项目。不要太挑剔——我还在上高中! :P

标签: javascript ajax node.js express


【解决方案1】:

设法得到它。我没有使用 ajax,而是使用了一个简单的发布请求。马尔尚普拉:

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);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    • 2017-09-09
    • 2016-06-20
    • 2018-04-17
    • 1970-01-01
    相关资源
    最近更新 更多