jQuery 不发送 msg.message
jQuery Don't send msg.message
https://github.com/simpleblog-project/Simple-Blog/issues/1
$.ajax({
method: "POST",
url: "http://localhost:5000/auth/login",
data: JSON.stringify({
"name" : id,
"password" : password
}),
contentType: 'application/json'
})
.done(function(msg) {
if (msg.access_token) {
createCookie(msg.access_token);
window.location.href = './Main.html';
}
else {
if(msg.message)
{
console.log(msg.message);
alert(msg.message);
}
}
});
这个
else{
if(msg.message)
{
console.log(msg.message);
alert(msg.message);
}
}
那是行不通的。
日志是 jquery-3.3.1.min.js:2 POST http://localhost:5000/auth/login 400(错误请求)
此问题与app.py这部分有关▼
@app.route('/auth/login', methods=['POST'])
def login():
data = request.json
name = data['name']
password = data['password']
user = User.query.filter_by(name=name).first()
if user is None or not User.verify_password(user, password):
return {"message": "invalid username or password"}, 400
return {
'access_token': create_access_token(user.id, expires_delta=access_token_exdelta),
'refresh_token': create_refresh_token(user.id, expires_delta=refresh_otken_exdelta)
}
打开浏览器到你的页面,在浏览器的代码上打断点,你可以点击F12打开开发者window点击控制台并导航到该行。单击该行以添加断点。(红色项目符号)例如。
if 语句是放置断点的好地方。 (javascript side) 在断点处(你看到一条蓝线/红线)当你点击它时悬停在那个点上,你可以看到你有哪些变量。在控制台中,您可以键入“msg”,它会显示 msg 对象的当前状态。
也可能想在 ajax 调用中添加一个错误部分,只是为了检查 ajax 调用本身是否正常。
$.ajax({
method: "POST",
url: "http://localhost:5000/auth/login",
data: JSON.stringify({
"name" : id,
"password" : password
}),
contentType: 'application/json',
success: function (data, status, xhr) {
console.log("Succes!" + data);
},
error: function (xhr) {
console.log("Error happened" +xhr.status);
}
});
查看 ajax 调用如何工作的文档:
https://api.jquery.com/jQuery.ajax/
并检查是否从服务器返回对象“msg”。
祝你好运:).
https://github.com/simpleblog-project/Simple-Blog/issues/1
$.ajax({
method: "POST",
url: "http://localhost:5000/auth/login",
data: JSON.stringify({
"name" : id,
"password" : password
}),
contentType: 'application/json'
})
.done(function(msg) {
if (msg.access_token) {
createCookie(msg.access_token);
window.location.href = './Main.html';
}
else {
if(msg.message)
{
console.log(msg.message);
alert(msg.message);
}
}
});
这个
else{
if(msg.message)
{
console.log(msg.message);
alert(msg.message);
}
}
那是行不通的。 日志是 jquery-3.3.1.min.js:2 POST http://localhost:5000/auth/login 400(错误请求) 此问题与app.py这部分有关▼
@app.route('/auth/login', methods=['POST'])
def login():
data = request.json
name = data['name']
password = data['password']
user = User.query.filter_by(name=name).first()
if user is None or not User.verify_password(user, password):
return {"message": "invalid username or password"}, 400
return {
'access_token': create_access_token(user.id, expires_delta=access_token_exdelta),
'refresh_token': create_refresh_token(user.id, expires_delta=refresh_otken_exdelta)
}
打开浏览器到你的页面,在浏览器的代码上打断点,你可以点击F12打开开发者window点击控制台并导航到该行。单击该行以添加断点。(红色项目符号)例如。
if 语句是放置断点的好地方。 (javascript side) 在断点处(你看到一条蓝线/红线)当你点击它时悬停在那个点上,你可以看到你有哪些变量。在控制台中,您可以键入“msg”,它会显示 msg 对象的当前状态。
也可能想在 ajax 调用中添加一个错误部分,只是为了检查 ajax 调用本身是否正常。
$.ajax({
method: "POST",
url: "http://localhost:5000/auth/login",
data: JSON.stringify({
"name" : id,
"password" : password
}),
contentType: 'application/json',
success: function (data, status, xhr) {
console.log("Succes!" + data);
},
error: function (xhr) {
console.log("Error happened" +xhr.status);
}
});
查看 ajax 调用如何工作的文档: https://api.jquery.com/jQuery.ajax/
并检查是否从服务器返回对象“msg”。 祝你好运:).