gpt4 book ai didi

ajax - jQuery 1.5.2 显示空响应的 [object XMLDocument]

转载 作者:行者123 更新时间:2023-12-03 23:00:59 24 4
gpt4 key购买 nike

我有一个可以从中获取字符串的 URL

如果响应字符串包含某些内容,一切都会顺利,但是(上帝禁止!)如果结果是像“”这样的空字符串,jQuery 1.5.2 会将其显示为 [object XMLDocument]

请遵循以下代码:

 $.post('/Applicant/RequestedJob/IsThereActivePeriod',{},
function(data){
if(data == '' )
{
//do something here!
}
else
{
console.log(data.toString());
// [object XMLDocument] will be printed in console.
}
});

也许我应该提到它曾经在 jQuery 1.4.4 上完美运行有什么想法吗?

问候:)

最佳答案

您应该在 ajax 调用中设置响应的预期数据类型,如下所示:

$.post('/Applicant/RequestedJob/IsThereActivePeriod',{},
function(data){
if(data == '' )
openDialog('/Applicant/RequestedJob/AddRequestedJobWindow','pnlRequestedJob','Request Window');
else
{
msgbox.show(data.toString(),'Error', msgBoxButtons.okOnly);
console.log(data.toString());
}
},
'html'
);

如果没有这个,jQuery 会尝试根据 to this 推断响应类型。 :

Default: Intelligent Guess (xml, json, script, or html).

没有返回内容,显然是在猜测 XML。通过将“html”作为数据类型传递,您可以强制 jQuery 将响应解释为 HTML,并将结果存储为纯文本。

根据一些评论,适当的内容类型 header 应该允许 jQuery 推断您的空字符串是 HTML,从而无需在 ajax 调用中显式设置预期的 dataType 即可实现相同的结果。

您得到[object XMLDocument]的原因是因为data是一个XML文档对象,并且正在调用它的toString()。

关于ajax - jQuery 1.5.2 显示空响应的 [object XMLDocument],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5727096/

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