我想使用JSON-P在我的网页上加载我的Google日历Feed。为了使页面上的主要内容加载更快,我只在加载页面后才将JSON-P的脚本标记注入head标记。 Google Calendar API会返回带回调函数的脚本,请参阅示例here。
是否可以避免将全局函数用作回调函数?我想包装所有必要的代码,用于注入标记并在一个包装函数中解析结果。
答案 0 :(得分:2)
您可以使用应用程序所在的全局方法。
MYAPP.method({...});
答案 1 :(得分:1)
没有。当您使用JSON-P调用时,服务器返回如下内容:
callback({...})
使用<script>
元素引用此JSON-P调用URL后,浏览器将下载JavaScript代码并执行它,这意味着使用服务器提供的数据执行callback
函数。
如果您不希望回调函数污染全局命名空间,只需在回调函数中添加一些命名空间,如com.mycode.callback
。
使用JSON-P的最大优点是它可以在浏览器中使用Same Origin Policy,您可以轻松使用其他域中的数据。