我遇到了问题,我希望有人能指出我正确的方向。我正在尝试使用JQuery的.ajax函数解析xml文件,这是代码:
此代码位于test.js文件中
$(document).ready(function() {
$.ajax({
type: 'GET',
url: 'test.xml',
dataType: 'xml',
success: testIt
});
});
function testIt(xml) {
alert("Test");
}
这只是我正在运行的测试,在执行ajax请求后它应该调用testIt
。问题是它没有。由于这是一个测试,html,js和xml文件都在我桌面上的同一目录中,即/Users/Chris/Desktop/Development
。
如果我添加complete: testIt
,它会进入该功能。 test.xml已经过检查并且有效。
我目前正在使用Safari 5.0.5进行测试,但我也在Firefox中进行了测试,其行为相同。这可能是$.ajax
的怪癖,也可能是我做错了。
任何帮助将不胜感激
答案 0 :(得分:0)
浏览Firebug或Chrome中的内置开发者工具,仔细查看ajax调用的请求和结果。如果success
未运行,但complete
没有运行,则可能由于某种原因(有可能因为answer中列出的详细信息细节而导致调用返回错误状态)
我在我的机器上尝试了您的设置,并将error: function() { alert("didn't work..."); }
添加到了ajax选项中,因为我怀疑该请求会返回错误代码。
如果您最终要在线使用此功能,我建议您将xml文件上传到某处并尝试从那里加载,以查看是否有效。 (如果您正在运行本地Web服务器,“某处”可能是您自己的计算机,但您必须使用“真实”URL链接到它,例如localhost:8080 / something / test.xml)。