我将我的JWT令牌存储在localStorage中,我试图通过jquery在React组件中使用它。
这是发出GET请求的地方:
componentDidMount() {
$.ajax({
url: "/items",
dataType: 'json',
headers: {
'Authorization': 'JWT ' + localStorage.getItem('jwt'),
},
success: function(items) {
this.setState({items: items});
}.bind(this)
});
},
这是后端(烧瓶)供参考:
@app.route('/items', methods=['GET'])
@jwt_required()
def items():
items = db.session.query(Item)
return jsonify([{
'id': item.id,
'name': item.name,
'quantity': item.quantity,
} for item in items])
我认为我正在错误地编写jQuery调用,但我无法确切地确定,有人有建议吗?
编辑:抱歉,我忘了描述问题。 javascript能够从localStorage
检索正确的令牌。确切的错误是401: Unauthorized
。
我还尝试了以下行,它给出了同样的错误:
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Bearer " + localStorage.getItem('jwt'));
},
编辑:通过谷歌Chrome控制台,我看到标题实际上已发送。