以下脚本似乎仅适用于Safari
function getPictures() {
$.ajax({
type: "GET",
url: "getimages.php",
dataType: "xml",
success: function(xml) {
alert('success');
}
});
}
getimages.php通过PHP动态创建xml内容。
我读到这个问题可能与需要请求有关。我从未以任何方式使用过Ajax,也没有时间做研究。
如何更改此脚本以使其在尽可能多的浏览器中运行?
PHP文件的XML输出如下所示
<image url="MY_IMAGE_URL_1.jpg" number="1">
<image url="MY_IMAGE_URL_2.jpg" number="2">
<image url="MY_IMAGE_URL_3.jpg" number="3">
<image url="MY_IMAGE_URL_4.jpg" number="4">
等
我原以为在加载文件时会调用成功函数而不管它的内容是什么
答案 0 :(得分:4)
您的XML格式不正确。
添加/
以关闭代码。
<image url="MY_IMAGE_URL_1.jpg" number="1" />
<image url="MY_IMAGE_URL_2.jpg" number="2" />
<image url="MY_IMAGE_URL_3.jpg" number="3" />
<image url="MY_IMAGE_URL_4.jpg" number="4" />
答案 1 :(得分:3)
首先,您应该在AJAX请求中添加error
事件处理程序:
function getPictures() {
$.ajax({
type: "GET",
url: "getimages.php",
dataType: "xml",
success: function(xml) {
alert('success');
},
error: function(req, status) {
alert(status);
}
});
}
其次,您需要关闭XML中的所有元素(以/>
结尾),并将它们包含在包含{@ 3}}的元素中:
<images>
<image url="MY_IMAGE_URL_1.jpg" number="1" />
<image url="MY_IMAGE_URL_2.jpg" number="2" />
<image url="MY_IMAGE_URL_3.jpg" number="3" />
<image url="MY_IMAGE_URL_4.jpg" number="4" />
</images>