2016-07-30 32 views
0

我想送HTTP GET要求与emailparams

$http.get('api/me', { 
    params: { 
     email: email 
    } 
}); 

,但在后台我收到空PARAMS即request.params是空白。我试图HTTP请求即

$http({ 
    url: 'api/me', 
    method: "GET", 
    params: {email: email} 
}); 

的其他格式,但是结果是在后端相同,即空PARAMS。

我的后端代码:

User.findOne({ email: request.params.email }, function(error, user) { 
    if (error) { 
     throw error; 
    } else if (!user) { 
     response.json({ 
      message: "User doesn't exist.", 
      status: 0 
     }); 
    } else { 
     response.json({ 
      message: "Successfully logged in.", 
      status: 1, 
      data: user 
     }); 
    } 
}); 
+0

第一。后端,你应该期待一个“email”参数,其值不是“request.params”,就像你在你的问题中陈述的那样。你能显示你的后端代码吗? – cnorthfield

+0

@papakia是的。你是对的。我误解了格式。有没有一种方法可以让我把它作为'request.params'或'request.headers'或'request.body'来获取电子邮件(尽管我不需要'request.body',因为它是一个GET请求)。 我也编辑了这个问题并添加了我的后端代码。 – Rusty

+0

您使用的是Express吗?如果是这样,请看这里发布的答案:http://stackoverflow.com/a/9243020/3453034 – cnorthfield

回答

0

你不应该使用PARAMS发送数据。相反,利用数据本身

$http({ 
    url: 'api/me', 
    method: "GET", 
    data: {email: email} 
}); 

,然后在后端:

如果电子邮件变量分配给它的值的所有检查
User.findOne({ email: request.email }, function(error, user) ...