并非所有请求参数都显示ajax node.js

时间:2016-05-20 14:41:19

标签: javascript ajax node.js

我正在使用node.js构建一个应用程序,并在表单中有一个GET端点:

/api/car/:id

我有一个GET请求,如:

var data = {
    color: 'red',
    mileage: '1000'
};

$.ajax({
    type: "GET",
    url: "/api/car/12345",
    data: {color: 'red', mileage: '1000'},
    success: function(data) {
        console.log(data)
    },
    error: function() {
        console.log('some error occurred');
    }
});

当我在console.log上时,服务器端的参数我只得到了' 12345'但我没有得到data中定义的参数:

console.log(req.params)

{ id: '12345' }

它应该是这样的:

{ id: '12345', color: 'red', mileage: '1000' }

有人可以帮忙吗?我需要在服务器端使用所有3个参数...

提前致谢!

3 个答案:

答案 0 :(得分:2)

看起来你正在使用Express。

查询字符串数据(在您发出GET请求时,jQuery会将您传递给data的值放在哪里)在req.query中找到,而不是req.params(仅包含路线规范中定义的参数。)

答案 1 :(得分:1)

$var = "<script>document.write(date)</script>"; var_dump($var) echo gettype ($var); $ini = strtotime($var)*1000; 返回您定义的路线中匹配的参数。要访问在网址的查询字符串部分中发送的参数,您需要使用req.params

答案 2 :(得分:0)

您可以使用req.body.color访问该颜色。 但首先你需要一个&#34;身体解析器&#34;封装