gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 18:34:00 25 4
gpt4 key购买 nike

我正在使用以下代码通过 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com