2011-07-15 73 views
0

我想用ajax动态加载页面。我传递了我用来获取页面内容的refid。JQUERY移动动态页面

所有信息都存储在标签中的自定义属性中。

<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

您可能想尝试实现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

希望这会有所帮助!

+0

感谢您的回复。在PC上的Safari中显示正常。我添加了错误,没有显示出来。 iPhone上仍然没有内容。这很奇怪。 – vitalyp