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