JSONP是否规模?在我的页面填满<script>标签之前,我可以发送多少个JSONP请求?</script>

时间:2010-03-15 12:57:20

标签: json jsonp

基于Please explain JSONP,我了解JSONP可用于绕过同源策略。

但为了做到这一点,页面必须使用<script>标记。

我知道页面可以动态发出新的脚本标记,例如:

<script type="text/javascript" language='javascript'>

  document.write('<script type="text/javascript" ' + 
                 'id="contentloadtag" defer="defer" ' +
                 'src="javascript:void(0)"><\/script>');
  var contentloadtag=document.getElementById("contentloadtag");
  contentloadtag.onreadystatechange=function(){
    if (this.readyState=="complete") { init(); }
  }
</script>

(以上在IE中工作,不认为它在FF中有效)。

...但这是否有效地意味着每个JSONP调用都要求我在文档中发出另一个<script>标记?我可以删除已完成的<script>代码吗?

1 个答案:

答案 0 :(得分:2)

是的,每个请求都会生成一个新的<script>标记,是的,您可以在使用它提供给您的数据后删除<script>个标记。

您应该考虑为JSONP使用Javascript库。 OX.AJAST是我之前写的一个简单的库,用于通过跨浏览器的脚本标记(即JSONP)进行异步请求。 YUI如果您已经在使用JSONP,也会支持JSONP。