JQUERY移动动态页面

时间:2011-07-15 05:39:30

标签: jquery jquery-mobile

我正在尝试使用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的任何想法吗?

我设法让它正确加载第一页内容,但它加载了该页面。所有其他页面只显示相同的页面。内容不会刷新。

1 个答案:

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

希望这有帮助!