【问题标题】:Is IIS Blocking My Callback?IIS 是否阻止了我的回调?
【发布时间】:2011-05-13 10:46:23
【问题描述】:
  • 当我在 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>

【问题讨论】:

  • 嗨,Jim,JS 只能在客户端(Web 浏览器)上运行,所以我认为 IIS 不会在这里出现。

标签: jquery rest callback cross-domain jsonp


【解决方案1】:

可能值得一读:http://support.brightcove.com/en/docs/using-xmlhttp-make-calls-proxy

我不是 AJAX 专家,但在您自己的 IIS 服务器上托管您的网站,然后针对 Brightcove 发出服务请求似乎属于跨域问题的范畴。

也许尝试使用服务器端代理会是前进的方向。

干杯, 丹

【讨论】:

  • +1: ...在您自己的 IIS 服务器上托管您的网站,然后针对 Brightcove 发出服务请求似乎属于跨域问题的范畴。 - 你完全正确。
【解决方案2】:

感谢大家的帮助。

确实,我需要注意的是我正在尝试发出跨域请求。

要绕过这个限制,我需要使用 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 2021-06-13
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    相关资源
    最近更新 更多