ajax发布成功函数没被解雇?

时间:2017-06-23 17:18:54

标签: jquery node.js

您好我正在向' / messages / new'发送ajax帖子在哪里它是console.logging发布给它的数据,然后在客户端它是console.logging"发布"如果成功发布。但是它不是console.logging发布的

这是我在客户端上的表单处理:

document.getElementsByClassName('contactmeform')[0].addEventListener('submit',function(e){
    e.preventDefault();
    var data = {
        name: e.target.name.value,
        phone_or_email: e.target.phone_or_email.value,
        message: e.target.message.value
    }


    $.ajax({
      type: "POST",
      url: "/message/new",
      data: data,
      success: function(){
        console.log('postedd')
      }
    });
})

编辑:console.log正在服务器上运行,但成功的回调函数没有在客户端上被触发,所以我没有看到"发布"在我的浏览器控制台中 如何才能获得成功功能?

2 个答案:

答案 0 :(得分:0)

app.post('/message/new',function(req,res){
    console.log(req.body);
    return true;
})

然后在ajax成功

$.ajax({
      type: "POST",
      url: "/message/new",
      data: data,
      success: function(response){
        if(response) {
        console.log('postedd')
        }
      }
    });

答案 1 :(得分:0)

想出来,在我添加的服务器上:

res.writeHead(200, { 'Content-Type': 'application/json' });
    res.write(JSON.stringify({ status: "OK" }));
    res.end();

因为在开发工具的网络选项卡中,它表示请求仍处于待处理状态,并且已修复此问题。我在服务器上的完整帖子处理现在看起来像:

app.post('/message/new',function(req,res){
console.log(req.body.name);
console.log(req.body.phone_or_email);
console.log(req.body.message);
res.writeHead(200, { 'Content-Type': 'application/json' });
res.write(JSON.stringify({ status: "OK" }));
res.end();

})