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