2010-03-15 4 views
4

Основываясь на Please explain JSONP, я понимаю, что JSONP можно использовать, чтобы обойти политику одного и того же происхождения.Является ли шкала JSONP? Сколько запросов JSONP можно отправить до того, как моя страница заполнит тегами <script>?

Но для этого страница должна использовать тег <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>?

ответ

2

Да, каждый запрос дает новый тег <script>, и да, вы можете удалить теги <script>, когда закончите, используя данные, которые он вам предоставляет.

Вам следует рассмотреть возможность использования библиотеки Javascript для JSONP. OX.AJAST - это простая библиотека, которую я написал некоторое время назад для выполнения асинхронного запроса через теги скриптов (т. Е. JSONP) в браузерах. YUI также поддерживает JSONP, если вы уже используете это.

+0

Эти лирики вы упомянули, удалили автоматически '