javascript - 使用 Firefox 从 JavaScript 调用 REST API 不起作用

标签 javascript api firefox rest

我正在使用以下代码通过 JavaScript 调用 REST API。此代码适用于 IE,但在 Firefox 9.0.1 的发送方法中挂起。我相信 IE 不会兑现之前的响应。

我试过用 Firebug 调试,但没有用。用于 Firefox 的 XMLHttpRequest 对象创建成功并遍历所有代码,但没有响应。

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

    function processRequest() {
         var signedURI = "http://api.saaspose.com/v1.0/storage/disc?appSID=myappSID&signature=mySignature";

        var xmlhttp = null;

        if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
            if (typeof xmlhttp.overrideMimeType != 'undefined') {
                xmlhttp.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } else {
            alert('Not supported!');
        }

        xmlhttp.open('GET', signedURI, true);

        xmlhttp.onreadystatechange = function () {

            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

            alert(xmlhttp.responseText);

            } else {
                //alert("ready state : " + xmlhttp.readyState.toString() + " status : " + xmlhttp.status.toString());
            }
        };

         xmlhttp.send(null);
    }
</script>

知道为什么这个问题出现在 Firefox 而不是 IE 上吗?

最佳答案

团队必须通过向 WCF 服务添加 JSONP 支持然后在客户端使用 jQuery 来解决这个问题,如下所示:

        $(function () {
        $("#disc").click(function () {
            $.getJSON("http://api.saaspose.com/v1.0/storage/disc?appSID=appsid&signature=signature&callback=?", function (data) {
                var items = [];
                $("#discResult").append('<br/><b>Status: ' + data.Status + '</b>');
                if (data.Status = 'OK') {
                    var discUsage = data.DiscUsage;
                    $.each(discUsage, function (key, val) {
                        items.push('<li id="' + key + '">' + key + ': ' + val + '</li>');
                    });

                    $('<ul/>', {
                        'class': 'my-new-list',
                        html: items.join('')
                    }).appendTo('#discResult');
                }
            });
        });
    });

谢谢大家的评论。

关于javascript - 使用 Firefox 从 JavaScript 调用 REST API 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8821683/

相关文章:

javascript - 使用元标记将页面缩放到 1.0

javascript - 添加不透明度悬停过渡会使其他图像闪烁

javascript - ES6 类继承可以转换为等效的 ES5 代码吗?

api - API 中要公开多少低级内容?

mysql - Node.js 用 mysql 编写 api 代码(sequelize)

javascript - 如何在长时间运行 Javascript 的情况下避免 Firefox 中的无响应脚本弹出窗口?

javascript - 在 Firefox 中创建新选项卡/在选项卡之间切换?

javascript - 有没有可能有两个立即完成的代码,第二行在第一行完成之前完成?

android - 从 github 导入 Telegram 源代码时出现 NDK 错误

javascript - Bootstrap/jQuery 单选按钮在 Firefox/Safari 上不起作用