1

由于我无法获得“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);
});
4

2 回答 2

4

问题是您创建query对象的方式。您不能使用大括号语法为属性名称分配动态值。你应该做的是;

var query = {};
query[qkey] = qvalue;
于 2012-08-01T15:49:31.620 回答
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);
  }
});    
于 2012-08-01T16:04:13.913 回答