我的代码在这里做错了什么,因为我无法获得'qkey'值?
如果我在浏览器中测试'/ search / firstname / daniel',我的回答是:{“qkey”:“daniel”}
app.get('/search/:qkey/:qvalue', function(req, res){
var qkey = req.params.qkey;
var qvalue = req.params.qvalue;
var query = {qkey:qvalue}
console.log(query);
res.send(query);
});
答案 0 :(得分:4)
问题在于您创建query
对象的方式。您无法使用大括号语法为属性名称分配动态值。你应该做的是;
var query = {};
query[qkey] = qvalue;
答案 1 :(得分:0)
您可以发送数据进行查看,如下所示:
//in the server side ...
app.get('/search/:qkey/:qvalue', function(req, res){
res.write(JSON.stringify({
qkey:req.params.qkey;
qvalue:req.params.qvalue;
}));
});
并在客户端...调用ajax
$.ajax({
type:"POST",
url:"/search/"+qkey+"/"+qvalue,
success: function(data){
var string = eval("(" + data + ")");
//you access to server response with
console.log(string.qkey+" and "+ string.qvalue);
}
});