gpt4 book ai didi

javascript - XMLHttpRequest 仅适用于 IE

转载 作者:行者123 更新时间:2023-11-28 09:59:12 25 4
gpt4 key购买 nike

我正在使用 XMLHttpRequest 对象进行 AJAX 调用,该对象在浏览器中运行良好,并使用我创建的回调处理程序来根据请求类型和参数等返回 JSON。

但我现在正在集成外部 RESTful API 以返回 JSON 字符串,并且由于某种原因它仅适用于我在 IE 中(在 IE 8 中测试)。使用 fiddler 2,我确定 API 返回了正确的数据。

我得到的 XMLHttpRequest.readyState 为 4,但 XMLHttpRequest.status 对于 Chrome、Safari 和 FF 仅返回 0。我读到有时当使用本地服务器(测试服务器)时,您总是得到零状态,因此我绕过了状态检查,但 XMLHttpRequest.responseText 仍然得到一个空白字符串。

function ajaxRequest(requestType,url) {

var xmlhttp;

if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange = function()
{

if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
switch (requestType)
{
case 5:
//Home postcode search
showAddresses("home", xmlhttp.responseText);
break;
}
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}

最佳答案

您应该升级到 jQuery,因为它将处理几乎所有浏览器的此请求。但如果您确实想知道如何在所有浏览器中使用 XMLHttpRequest,这里有一些代码似乎可以解决问题: https://github.com/ilinsky/xmlhttprequest/blob/master/XMLHttpRequest.js

或者,只是拆开 jQuery 的实现。

http://api.jquery.com/category/ajax/

希望这有帮助。

关于javascript - XMLHttpRequest 仅适用于 IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9465263/

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