首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取未经授权的错误

获取未经授权的错误
EN

Stack Overflow用户
提问于 2018-06-19 06:28:19
回答 1查看 39关注 0票数 -1

整个代码有点乱,因为我一直在尝试不同的东西,还没有认真地把它们组织起来。我正在尝试使用用户名和新电子邮件向/api/protected发送PUT请求,以更新电子邮件。这是一个受保护的路由,需要authtoken来访问它,我已经传入了它。我收到一个未经授权的错误。

代码语言:javascript
复制
function updateProfile(username, email, authToken, callback) {
 const settings = {
    url: '/api/protected',
    data: {      
      username: `${username}`,      
      email: `${email}`,
    headers: {      
      authorization: `Bearer ${authToken}`
    }, 
   },
    dataType: 'json',
    type: 'PUT',
    success: callback,
    error: error
  };
  $.ajax(settings); 
}

这是ajax请求,现在在服务器端代码中:

代码语言:javascript
复制
app.put('/api/protected', jwtAuth, (req, res) => {
 const updatedItem = User.update({username: req.body.username}, {$set:{email: req.body.email}})  
 return res.status(201).json({updatedItem});  
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-19 07:50:17

如果我们查看the documentation,我们会发现headers属性应该在发送到$.ajax的设置上,而不是在data属性中。要进行补救,只需将其移出data属性即可。例如:

代码语言:javascript
复制
function updateProfile(username, email, authToken, callback) {
  const settings = {
    url: '/api/protected',
    data: {
      username: `${username}`,
      email: `${email}`,
    },
    headers: {
      authorization: `Bearer ${authToken}`
    },
    dataType: 'json',
    type: 'PUT',
    success: callback,
    error: error
  };
  $.ajax(settings);
}

请注意,我还清理了一些缩进,以便更容易看到正确的位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50918278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档