如何使用从客户端

时间:2018-06-04 15:35:58

标签: javascript jquery node.js

我正在从客户端做一个简单的请求,使用jQuery并传递一个参数,该参数将用于检索与我服务器上的特定id相关联的数据(数据在JSON文件中)。

请求客户端:

$(document).ready(function(){
    console.log("Doctor id: "+URL.id); //LOG THE ID OF THE DOCTOR FROM THE PAGE URL
    $.get( '/doctorID',{ id: URL.id }, function(data) {

        console.log(typeof data)
        JSON.parse(data).map(addElement); // ignore add element function  
        });    
});


var URL = function () {
// This function is anonymous, is executed immediately and 
// the return value is assigned to QueryString!
var query_string = {};
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
  var pair = vars[i].split("=");
    // If first entry with this name
if (typeof query_string[pair[0]] === "undefined") {
  query_string[pair[0]] = decodeURIComponent(pair[1]);
    // If second entry with this name
} else if (typeof query_string[pair[0]] === "string") {
  var arr = [ query_string[pair[0]],decodeURIComponent(pair[1]) ];
  query_string[pair[0]] = arr;
    // If third or later entry with this name
} else {
  query_string[pair[0]].push(decodeURIComponent(pair[1]));
}
} 
return query_string;
}();

网址功能从网址获取我需要的ID,类似于http://localhost:5000/pages/personaleGenerico.html?id=4

我在我的get请求中传递了id参数,然后服务器端我正在使用Node.js:

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/doctorID', function(req, res) {
  id = req.param.id;
  console.log(id);


});

我已经尝试了req.param.idreq.body.id,但我一直得到一个未定义的值。 如何获得我需要的正确值?我错过了什么吗?

2 个答案:

答案 0 :(得分:2)

尝试req.query.id

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/doctorID', function(req, res) {
  id = req.query.id;
  console.log(id);
});

将GET方法更改为:

$.get( `/doctorID?id=${URL.id}`, function(data) { //...

答案 1 :(得分:1)

看起来您的目标是查询,但使用的是param。为了更改代码以使用param,您必须更改以下代码

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/doctorID', function(req, res) {
  id = req.param.id;
  console.log(id);
});

使用req.param.id

您的app.get('/doctorID)必须是app.get('/doctorID/:id')

您的目标将是'/doctorId/' + Url.id

param documentation

query documentation