gpt4 book ai didi

javascript - JQuery 响应类型是字符串而不是文档对象

转载 作者:行者123 更新时间:2023-12-03 08:43:20 26 4
gpt4 key购买 nike

我在 Internet Explorer 11 使用 jquery 1.7 处理 post 请求的响应对象时遇到了一些问题。

loader.request = jQuery
.post("/gateway-portal-war/prediction", {
action : "index",
matchcode : this.customerMatchCode,
timespan : timespan
})
.done(
function(data) {
loader.displayData(data
.getElementsByTagName("response")[0]);
document.getElementById('loader_'
+ loader.customerMatchCode).style.display = "none";
});

在 firefox/chrome 中,该对象被视为 html 文档元素,可以很好地进行进一步处理、从文档获取响应等。

enter image description here

这里的问题是 IE 中的响应是字符串中的 xml,如下所示:

"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<response>\n ...</response>\n"

我尝试通过将响应转换为 activeXObject 来修复该问题

xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;

//xmlDoc.load(data);
xmlDoc.loadXML(data);

但是调试后我发现ActiveXObject中的几乎所有内容都没有初始化或者为空,这会在之后产生一些错误

enter image description here

最佳答案

您需要在ajax调用中定义dataType;

    .post("/gateway-portal-war/prediction", {
action : "index",
dataType: "xml", //here
matchcode : this.customerMatchCode,
timespan : timespan
})

jQuery 会自动解析你。如果你不定义的话,可能IE11无法解析。

关于javascript - JQuery 响应类型是字符串而不是文档对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32992983/

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