繁体   English   中英

$ .ajax仅在Safari中工作-可能与请求有关

[英]$.ajax only working in Safari - probably something with request

以下脚本似乎仅在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">

等等

我本来以为无论文件内容如何,​​加载文件时都会调用成功函数

您的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" />

首先,您应该在AJAX请求中添加一个error事件处理程序:

function getPictures() {
    $.ajax({
        type: "GET",
        url: "getimages.php",
        dataType: "xml",
        success: function(xml) {
            alert('success');
        },
        error: function(req, status) {
            alert(status);
        }
    });
}

其次,您需要关闭XML中的所有元素(以/>结尾),并将它们包装在一个contains元素中,因为XML中只有一个根元素

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM