将AJAX数据发送到Node.js

时间:2020-06-02 11:20:27

标签: javascript html jquery node.js ajax

无法从HTML / AJAX将数据发送到Node.js,我具有要发送到Node服务器的变量selectValue。在使用数据时:{ selectValue: selectValue}无济于事。

index.html

<script type="text/javascript">
    $(document).ready(function(){   
    var selectElement = document.getElementById('selectDetails');       
    var selectValue='';
        $.ajax({
                 url: "http://localhost:8070/api/route1",
                 type: 'POST',
                 dataType:'json', 

                 success: function(res) {
                     console.log(res);
                     console.log(res.content);
                     $.each(res.content, function(key,value) {
                        console.log(value);
                        selectElement.options[selectElement.options.length] = new Option(value.hostname+":"+value.port);
                    });
                    $("#myButton").click(function(){
                        var selectValue = document.getElementById("selectDetails").value;
                        console.log(selectValue);
                    });
                },
                data: { selectValue: selectValue}
            });   
        });                          
</script>

app.js

router.post('/route1', function(req, res){ 
    var selValue= req.body.selectValue;
    console.log("Select Value"+selValue);
});

console.log("Select Value"+selValue);给出未定义的值。如何将selectValue的值发送到我的节点服务器。

3 个答案:

答案 0 :(得分:1)

在伪代码中,您需要执行以下操作:

    @GET
    @Path("/lp/by-group/{id}")
    @RolesAllowed({"ADMINISTRATOR"})
    public Multi findByGroupId(@PathParam Long id) {
        return userService.longPoolingByGroupId(id);
    }

答案 1 :(得分:0)

这应该移出帖子/ XHR回调:

$("#myButton").click(function(){
    var selectValue = document.getElementById("selectDetails").value;
    console.log(selectValue);
});

现在您要发送空字符串'';到服务器,然后在调用处理程序中编辑另一个名为“ selectValue”的变量的值。内部的selectValue变量遮盖了原始值,但是原始值永远不会改变。

类似的东西可能起作用

<script type="text/javascript">
    $(document).ready(function(){   
    var selectElement = document.getElementById('selectDetails');       
    var selectValue='foo';

     $("#myButton").click(function(){
         // NO VAR HERE, TO NOT SHADOW THE OUTER VARIABLE
         selectValue = document.getElementById("selectDetails").value;
         console.log('1', selectValue);
         $.ajax({
            url: "http://localhost:8070/api/route1",
            type: 'POST',
            dataType:'json', 
            data: {selectValue: selectValue},
            success: function(res) {
               console.log(res);
              console.log(res.content);
            }
         });  
     });

</script>

答案 2 :(得分:0)

请注意,您的网址是:“ http://localhost:8070/api/monitor” 并在您的app.js文件中尝试发布到/ route1