这是我的代码
this.facebook.login(['email', 'public_profile']).then((response: FacebookLoginResponse) => {
this.facebook.api('me?fields=id,name,email,first_name,picture.width(720).height(720).as(picture_large)', [])
.then((profile: any) => {
let userData = {
email: profile['email'],
first_name: profile['first_name'],
picture: profile['picture_large']['data']['url'],
username: profile['name'],
id: profile['id']
}
alert(userData);
在“模拟器”警报框中,输出显示为
[对象对象]
如何解决此问题?
答案 0 :(得分:4)
由于您的userData
可能是JSON解析对象,因此显示[object object]
。
尝试使用alert(JSON.stringify(userData))
,我想它应该可以解决您的问题。
此外,如果您只想验证对象数据,则可以使用
console.log(userData)
。
答案 1 :(得分:1)
警报显示时,您需要使用JSON.stringify
import {Injectable} from '@angular/core';
import {myCollection} from './gallery-data'; // my static array
import {Picture} from "./gallery-module/gallery/Picture"; // interface
@Injectable({
providedIn: 'root'
})
export class GalleryService {
Mycollection: Picture[] = myCollection;
getCollection = JSON.parse(localStorage["Collection"]);
constructor() {}
save() {
localStorage["Collection"] = JSON.stringify(this.Mycollection);
}
getPictures(): Picture[] {
return (this.Mycollection);
}
remove(picId: number): void{
this.Mycollection = this.Mycollection.filter(p => p.id !== picId);
this.save();
}
add(title: string, url: string): void {
const id: number = Math.max(0, ...this.Mycollection.map(({id}) => id)) + 1;
const post: Picture = {
title,
url,
id
};
this.Mycollection.unshift(post);
this.save();
}
}
答案 2 :(得分:0)
使用“ console.log(userData);”而不是“ alert(userData);”