簡體   English   中英

AJAX獲取請求有時在iOS Safari上失敗

[英]AJAX get request sometimes fails on iOS Safari

我正在嘗試顯示我使用jQuery AJAX創建的json提要到我網站的另一個頁面上。 在大多數情況下,我使用下面的代碼可以使其完美運行,但在iOS Safari上有時不起作用(大約十分之一)。 當我說它不起作用時,沒有任何內容附加到文檔中,並且我的'.items'元素保留為空。

這是我的jquery腳本,該腳本在窗口加載時運行:

$.ajax({
    type: "GET",
    url : '/json',
    success: function (data) {
        var json = JSON.parse(data.replace(/"/g, '"'));
        $.each(json.data, function (index, element) {
            $(".items").append("<p>" + json.data[index].Title + "</p>");
        });
     }
});

這是JSON提要,似乎有效,但是將dataType:'json'添加到我的ajax請求中時,未返回任何內容:

{
    "data": 
    {
        "1": {
            "Title": "Page 1",
            "Url": "/page-1"
        },

        "2": {
            "Title": "Page 2",
            "Url": "/page-2"
        },

        "3": {
            "Title": "Page 3",
            "Url": "/page-3"
        }
    }
}

奇怪的是,如果此操作無效,則不會顯示任何錯誤消息,因此我不知道實際原因是什么。 我的懷疑是JSON格式不正確,或者出於任何原因都無法解析JSON。 在台式機瀏覽器上,它總是可以工作的,因此這使我相信這些不是原因,而可能只是iOS錯誤。

誰能幫我解決這個問題? 有沒有辦法檢查我的json是否已正確解析?

我遇到了完全相同的問題,即使對於靜態有效的JSON文件,iOS Safari也會返回“ ...”。因此,我在代碼之間尋找相似的內容,並且由於我們都使用“ GET”,因此我決定嘗試POST,為什么不...而且可以肯定的是,POST總是通過ajax返回我的json,而GET卻沒有...

這肯定是iOS野生動物園中無法正確處理的事情,但是切換到POST對我有用...以防萬一其他人遇到同樣的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM