【发布时间】:2009-11-17 22:35:28
【问题描述】:
我沮丧地挠了挠头,但我找不到答案。 我是 Ajax 新手,我正在尝试这个简单的脚本:
这是我的代码:
JAVASCRIPT:
$(document).ready(function(){
$("#toggle_album").click(function () {
$.post('backend/load_album_thumbnails.php', {
text: 'my string',
number: 23
}, function(xml) {
var timestamp = $(xml).find("time").text();
alert(xml);
alert(timestamp);
});
});
});
警报(xml)返回:
<? xml version="1.0"?>
<response status="ok">
<time>23:33:13</time>
<string>my string</string>
</response>
警报(时间戳)返回空
我也试过了:
时间戳 = $("time",xml).text();
结果相同。
我在 xml 开始标记中添加了额外的空间,因为它在 stackoverflow 上消失了。我能想到的这个错误的唯一原因是返回数据不是 XML 格式,但我不知道为什么会这样。
感谢任何答案。
【问题讨论】:
-
我刚刚尝试了您的逐字示例代码,它可以正常工作。我还尝试将错误的内容类型与 xml 一起发回,并在开始时添加随机空格,但它仍然可以无缝工作。您能否添加更多上下文信息(例如,使用的服务器、使用的浏览器等)以及您正在使用的 xml 文件的链接?
-
如果您在 Firefox 3.5+ 中测试此代码,它将起作用。但是它会在 IE8 中失败。
-
我总是忘记在 IE 中进行测试。只是出于好奇,您是否在其他浏览器上测试过这段代码?
-
我在 Opera 10 (Mac)、Safari 4 (Mac)、Chrome (XP) 和 FF2.0 (XP) 中测试了原始代码。所有工作都如我们的朋友马蒂斯所期望的那样。 IE 6、7 和 8 都按照问题中的描述进行响应。
-
天哪,你们摇滚!感谢所有的投入。我没有在 IE7 以外的任何其他浏览器中测试它,恐怕我的网页设计时代是从 IE 成为编码方式的时候开始的,我经常忘记在其他浏览器中检查它(即使我已经安装了它们)。我会在我上班时研究它。谢谢!