【发布时间】:2012-05-11 09:54:56
【问题描述】:
我有一些返回简单字符串的 jquery ajax 调用。 返回字符串的解释在 Firefox 和 IE 中有效(class 设置为 ok),但在 Chrome 中无效(class 设置为错误)?
myurl 中的 php 只是简单地返回一个带有数值的字符串。在 Chrome 中,警报(result.responseText 的类型);还给了我一个字符串,调试提示该值确实是 100。但是 Chrome 出于某种原因并没有深入到 if 语句中。
有什么想法吗?
$.ajax({
url : 'myurl',
data:{o:1},
dataType:"text",
complete : function (result) {
if (result.responseText==100){
$("#mydiv").addClass("ok");
}
else {
$("#mydiv").addClass("wrong");
}
}
});
【问题讨论】:
-
为什么不避免依赖隐式转换而只使用
if (result.responseText === "100")? -
亚历山大是对的。应该这样做
-
谢谢,这让我走上了正轨。似乎 myurl 返回了一个带有额外 BOM 的字符串(返回的是“100”,而不是“100”)。在没有 DOM 的 UTF 中设置文档编码修复了它。这有帮助:stackoverflow.com/questions/6538203/…
标签: php jquery ajax google-chrome response