(我已经知道 ajax 调用必须来自同一来源,并且已经阅读了相关答案)
但是我在理解某些东西时遇到了问题:
Facebook(以及其他)for(;;) || while(1)
在他们的 json 响应中使用了这个东西:
而且 - 显然 - 如果我想使用数据,我必须删除for(;;)
字符串然后自己解析它。
我还被告知(@esailija):
除非您来自同一来源,否则您无法删除 for 循环
好的 - 这是因为相同的原产地政策。
但我问这个:
假设 John 在他的网站 ( john.com
) 上这样做:
bla bla...
<script src="facebook.com/ajax/recent" type="text/javascript"></script>
bla bla...
请注意它与 facebook 的 url相同(我最左边的红色箭头) -
假设
- 如果他得到了回应,
<scrip>...</script>
而回应却没有,for(;;)
-他仍然无能为力{"__ar:1,....}
!必须用它填充(如 jsonp)myCallBack({"__ar:1,....});
我的意思是:就像这样:
var a=1;
{"__ar:1,....} <--- john can't do nothing with this.
var b=1;
问题 :
我错过了什么,我的假设是否正确?