0

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

类似的东西

<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()我该怎么做类似的事情?

4

1 回答 1

1

您的服务器脚本应该执行以下操作(此示例是 PHP):

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

JSONP 到底是什么?

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

MyCallbackFunction(data);

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

于 2013-09-19T17:11:16.963 回答