护照:登录 POST 请求 returns 用户对象作为字符串
Passport: Login POST request returns user object as String
我正在尝试通过 Passport 登录现有用户。登录成功,但 user
对象 return 是一个字符串。这会带来一个问题,因为我 运行 在对象上有一个 for in
循环;它不是在每个对象键上 运行ning,而是在每个字符上 运行s。这是我的代码:
Post 请求
PostRequest( '/auth/login', login, 'application/json', ( status, user ) => {
if ( status == 200 ) {
//If user is passed, then set cookie for user. Otherwise display error.
for ( const key in user ) {
console.log( key + " : " + user[key] );
}
window.open( "/user/" + user.username, "_parent" );
} else {
console.log("error");
}
});
Ajax 调用
function PostRequest( url, data, MIMEType, callback = undefined ) {
data = JSON.stringify(data);
xhr.open( 'POST', url );
xhr.setRequestHeader( 'Content-Type', MIMEType );
xhr.send( data );
xhr.onload = () => {
return callback( xhr.status, xhr.responseText );
}
}
如何让 return 数据成为 JSON 对象而不是字符串?感谢所有帮助。
看起来 user
是一个字符串化对象 (JSON)。如果是这样,你需要先使用JSON.parse
解析它。
PostRequest( '/auth/login', login, 'application/json', ( status, user ) => {
if ( status == 200 ) {
//If user is passed, then set cookie for user. Otherwise display error.
var userJson = JSON.parse(user);
for ( const key in userJson ) {
console.log( key + " : " + userJson[key] );
}
window.open( "/user/" + userJson.username, "_parent" );
} else {
console.log("error");
}
});
我正在尝试通过 Passport 登录现有用户。登录成功,但 user
对象 return 是一个字符串。这会带来一个问题,因为我 运行 在对象上有一个 for in
循环;它不是在每个对象键上 运行ning,而是在每个字符上 运行s。这是我的代码:
Post 请求
PostRequest( '/auth/login', login, 'application/json', ( status, user ) => {
if ( status == 200 ) {
//If user is passed, then set cookie for user. Otherwise display error.
for ( const key in user ) {
console.log( key + " : " + user[key] );
}
window.open( "/user/" + user.username, "_parent" );
} else {
console.log("error");
}
});
Ajax 调用
function PostRequest( url, data, MIMEType, callback = undefined ) {
data = JSON.stringify(data);
xhr.open( 'POST', url );
xhr.setRequestHeader( 'Content-Type', MIMEType );
xhr.send( data );
xhr.onload = () => {
return callback( xhr.status, xhr.responseText );
}
}
如何让 return 数据成为 JSON 对象而不是字符串?感谢所有帮助。
看起来 user
是一个字符串化对象 (JSON)。如果是这样,你需要先使用JSON.parse
解析它。
PostRequest( '/auth/login', login, 'application/json', ( status, user ) => {
if ( status == 200 ) {
//If user is passed, then set cookie for user. Otherwise display error.
var userJson = JSON.parse(user);
for ( const key in userJson ) {
console.log( key + " : " + userJson[key] );
}
window.open( "/user/" + userJson.username, "_parent" );
} else {
console.log("error");
}
});