IIS блокирует мой обратный вызов? - PullRequest
0 голосов
/ 21 ноября 2010
  • Когда я пробую приведенный ниже код в Cassini, я получаю действительный ответ.
  • Когда я выполняю следующий вызов RESTful в браузере, я вижу действительный ответ - http://api.brightcove.com/services/library?command=find_all_videos&page_size=1&video_fields=name&token=[token].
  • Но когда я размещаю свой сайт в IIS 7.5, моя функция обратного вызова получает аргумент null.

Мой вопрос:

Может ли IIS 7.5 блокироватьответ?


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        function validateReadToken() {
            $.getJSON("http://api.brightcove.com/services/library?command=find_all_videos&page_size=1&video_fields=name&token=[token]",
                function (data) {
                    alert(data.items.length);
                }
            );
        }

        $(document).ready(function () {
            $("a").click(function (event) {
                validateReadToken();
            });
        });    
    </script>
</head>
<body>
    <a href="javascript:void(0)">Test</a>
</body>
</html>

Ответы [ 2 ]

1 голос
/ 21 ноября 2010

Возможно, стоит прочесть это: http://support.brightcove.com/en/docs/using-xmlhttp-make-calls-proxy.

Я не эксперт по AJAX, но хостинг вашего сайта на вашем собственном IIS-сервере, а затем отправка запросов на обслуживание против brightcove, похоже, попадет под эгидумеждоменные проблемы.

Возможно, попытка прокси на стороне сервера была бы решением проблемы.

Cheers, Dan

0 голосов
/ 21 ноября 2010

Спасибо всем за помощь.

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

Чтобы обойти это ограничение, мне нужноиспользовать JSONP.


Новый код:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        function validateReadToken() {
            var url = 'http://api.brightcove.com/services/library?command=find_all_videos&page_size=1&video_fields=name&token=[token]';
            $.getJSON(url + "&callback=?", function (data) {
                alert(data.items.length);
            });
        }

        $(document).ready(function () {
            $("a").click(function (event) {
                validateReadToken();
            });
        });    
    </script>
</head>
<body>
    <a href="javascript:void(0)">Test</a>
</body>
</html>
...