我正在尝试使用ajax动态加载页面。我传递了用于获取页面内容的refid。
所有信息都存储在标签中的自定义属性中。
<a href="#dPage" title="More Info" data-theme="c" lat="{value}" lon="{value}" refid="{value}" id="detailslink">
<div data-role="page" id="dPage">
<div data-role="header">
<h1>Details</h1>
</div>
<div data-role="content">
<div id="detailspage">
</div>
</div>
</div>
//$('#dPage').bind('pageshow', function() {
$('#detailslink').live('click', function() {
$("#detailspage").html('');
var placelat = $(this).attr('lat');
var placelon = $(this).attr('lon');
var refid = $(this).attr('refid');
//alert (refid);
//$.mobile.pageLoading();
//alert("Your browser broke!");
$.ajax({
cache: false,
url: "getdetails.php",
dataType: "html",
data: "&lat="+placelat+"&lon="+placelon+"&refid="+refid,
success: function (data) {
$("#detailspage").html(data);
}
});
//alert("done");
});
需要帮助:这对iPhone无效。内容返回并在PC,Android上正常工作,但不是iphone。 iphone上没有任何内容,只是一个空白页面。有关如何修复iPhone的任何想法吗?
我设法让它正确加载第一页内容,但它加载了该页面。所有其他页面只显示相同的页面。内容不会刷新。
答案 0 :(得分:0)
您可能想尝试为jquery.ajax调用实现错误处理。看一下http://api.jquery.com/jQuery.ajax,特别是错误和statusCode设置,看看你是否能更好地了解发生了什么。可能类似于以下内容:
$.ajax({
cache: false,
url: "getdetails.php",
dataType: "html",
data: "&lat="+placelat+"&lon="+placelon+"&refid="+refid,
success: function (data) {
$("#detailspage").html(data);
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
如果上述方法无效,您也可以尝试在桌面/笔记本电脑上重现Safari中的错误。 Safari有一个非常好的JavaScript调试器,可以帮助您查看正在发生的事情,甚至可以让您逐步执行代码info。
希望这有帮助!