如何使用AJAX / jQuery将数据发送到节点js的post方法?

时间:2016-07-06 14:10:31

标签: javascript jquery ajax node.js

我有一个udp服务器,每次向其发送消息时都会发回不同的消息。如果我将消息硬编码到var消息中,那么一切正常。但是我希望客户端能够手动输入消息,然后当按下刷新按钮时,ajax会再次发送相同的输入消息。现在,按下按钮时没有任何反应,因为ajax不知道req.body.number是什么。

2 个答案:

答案 0 :(得分:1)

您可以使用jQuery的$.post()方法发送json对象,或者您可以对url编码参数进行编码:

JSON:

$.post('/output2', {number: 'value1'}, function(data){
    // Do things
});

URL:

$.post('/output2?number=value1', function(data){
    // Do things
});

要在邮寄路线上接收这些参数,您可以使用req.body变量:

app.post('/output2', function(req, res){
    var number = req.body.number;
    // Do things
});

您设置表单的方式并不需要jQuery post方法来执行此操作。如果您确实想要完整的jQuery提交,请将其添加到index2.html。

<script>

$(function(){
    $(document).on('submit', 'form', function(e){
        e.preventDefault();
        var formdata = { number: $('input[name="number"]').val() };
        $.post('/output2', formdata, function(data){
            alert(data);
        });
    });
});

</script>

答案 1 :(得分:0)

修改了一些来自wrxsti的代码,我们不需要让var formdata,只需使用:

$("#submit").on("submit",function (e) {
        e.preventDefault();
        $.post("http://localhost:5000/post/comment",$(this).serialize(), function( data ) {
          console.log(data);
        });
});