浏览Facebook并感到好奇,我决定浏览Chrome开发者工具中的network XHR
标签,查看他们对后端的API调用。在查看调用和标题时,注意到他们如何发送和打包数据非常奇怪:
for (;;);{
"__ar": 1,
"payload": {
"profiles": {
"1244780025": {
"id": "1355891136",
"name": "JoeD Dirt",
"firstName": "Joe",
"vanity": "joe.dirt",
"thumbSrc": "https://some.picture.url/source.png",
"uri": "https://www.facebook.com/joe.dirt",
"gender": 2,
"i18nGender": 1,
"type": "friend",
"is_friend": true,
"is_active": false,
"mThumbSrcSmall": null,
"mThumbSrcLarge": null,
"dir": null,
"searchTokens": [
"Joe",
"Dirt"
],
"alternateName": "",
"is_nonfriend_messenger_contact": false
}
}
},
"bootloadable": {},
"ixData": {},
"gkxData": {},
"lid": "6440706546668495821"
}
内容类型:
content-type: application/x-javascript; charset=utf-8
我真的想知道是否将数据作为实际的javascript对象返回,而不是一串JSON更快或更方便,但我不确定如何使用这种类型的返回。
exec
中运行,这可能不安全吗? JSON
对应方进行性能测试?编辑虽然Empty "for" loop in Facebook ajax回答非常糟糕,但是这个问题没有回答我提出的3个问题中的任何一个问题。