jQuery AJAX在一页上可用,而在iPhone上则不能另一页

时间:2018-10-28 14:33:43

标签: jquery ios caching load

我正在使用以下代码加载mysql数据:

<div id="station_data" style="width:100%"></div>

$(document).ready(function() {
    loadstation();
});

function loadstation() {
    $("#station_data").load("http://website.co.uk/celebs/loadstation.php");
    setTimeout(loadstation, 1000);
}

这在我的PC上可以在多个页面上正常工作,但是在我的iPhone和iPad上进行测试时,它可以在一页上工作,但是完全相同的代码在另一页上不起作用。在尝试使其正常工作的同时,我用不同的名称制作了工作页面的精确副本,即使代码完全相同,也无法正常工作。

与缓存有关吗?

我尝试在URL的末尾添加一个随机数

function loadstation() {
    newrnd =  Math.random();
    the_url = "http://website.co.uk/celebs/loadstation.php?s=" + newrnd;
    $("#station_data").load(the_url);
    setTimeout(loadstation, 1000); 
}

我添加了PHP标头

header("Cache-Control: no-cache"); header("Pragma: no-cache");

还尝试关闭缓存

$.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false 
});

我不明白为什么相同的代码在一个页面上却不能在另一页面上运行?此问题仅在iPhone / iPad上。

我还尝试了完整的ajax获取

$.ajax( {
    url: "http://website.co.uk/celebs/loadstation.php",
    type: "GET",
    cache: false,
    success: function(html) {
         $("#foo").html(html);
    } 
});    
setTimeout(loadstation, 1000);

1 个答案:

答案 0 :(得分:0)

我将URL更改为./loadstation.php,它起作用了