加载javascript文件后,从“script”标签内执行javascript回调

时间:2013-09-19 17:07:42

标签: javascript jquery

我希望在使用查询字符串<script>加载javascript文件后,在callback=MyCallbackFuntion标记内执行javscript回调。

类似于

的东西
<script src="http://gdata.youtube.com/feeds/users/USER/uploads?
        alt=json-in-script
        &max-results=30
        &callback=listVideosCallback" 
    type="text/javascript"></script>

src=http://...的末尾,youtube在加载数据/文件后使用查询字符串?callback= listVideosCallback执行函数listVideosCallback()。我怎么能做类似的事呢?

1 个答案:

答案 0 :(得分:1)

您的服务器脚本应该执行类似的操作(此示例为PHP):

echo $_GET['callback'] . '(' . json_encode($data) . ');';

What is JSONP all about?

当您使用<script src="URL"></script>时,浏览器会下载该网址,然后执行其中包含的Javascript代码。如果该代码如下:

MyCallbackFunction(data);

然后加载脚本将导致以数据作为参数调用函数。因此,服务器脚本应该从callback URL参数中获取函数名称,并通过在其后面放置括号和文字数据对象并将其回显来将其转换为函数调用。