如何将ajax get请求数据传递给nodejs GET路由?

时间:2017-09-11 06:00:05

标签: javascript node.js ajax express

这是我的ajax请求调用

  $.ajax({
    url: '/refresh',
    type: 'GET',
    contentType: "application/json",
    data: {
        Name: $("#inputName").val(),
        Url: $("#inputUrl").val()
    },
    success: function(data) {
        console.log('form submitted.' + data);
    }
  });

这是nodejs中的GET路由

app.get('/refresh', function(req, res) {
            console.log("My data" + JSON.stringify(req.body));
            //other operations
        }

如何在js中获取从ajax调用传递的数据?请帮忙!!非常感谢!

2 个答案:

答案 0 :(得分:2)

jQuery的.ajax()方法将data属性作为GET请求的查询字符串发送,因此在您的Express代码中,您必须从req.query而不是从req.body检索该数据var a = args.Snapshot.Children; a.GetEnumerator().MoveNext(); Debug.Log(a.GetEnumerator().Current.Key);

答案 1 :(得分:0)

您只需使用req.query

const id = req.query._some_query_param; // $_GET["id"]

// Sample URL: https://foo.bar/items?id=234
app.get("/items",function(req,res){
   const id = req.query.id;
   //further operations to perform
});

如果您想获取路由参数,可以使用req.params,它只获取路由参数而不是查询字符串参数。

例如:

// Sample URL: https://foo.bar/items/322
app.get("items/:id",function(req,res){
 const id = req.params.id;
 //further operations to perform
});