2011-07-15 5 views
0

J'essaye de charger dynamiquement une page avec ajax. Je passe le refid que j'utilise pour obtenir le contenu de la page.JQUERY Mobile Dynamic Pages

Toutes les informations sont stockées dans un attribut personnalisé du tag.

<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"); 

}); 

BESOIN D'AIDE: Ce travail doens't sur iPhone. Le contenu est retourné et fonctionne bien sur pc, android, mais pas iphone. Rien n'est chargé sur l'iphone, juste une page blanche. Des idées pour réparer l'iPhone?

J'ai réussi à l'obtenir pour charger le contenu de la première page correctement, mais il charge cette page. Toutes les autres pages montrent juste la même page. Le contenu ne s'actualise pas.

Répondre

0

Vous pouvez essayer d'implémenter la gestion des erreurs pour l'appel jquery.ajax. Jetez un oeil à http://api.jquery.com/jQuery.ajax, en particulier l'erreur et les paramètres statusCode pour voir si vous pouvez avoir une meilleure idée de ce qui se passe. Peut-être quelque chose comme ce qui suit:

$.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); 
    } 
}); 

Si ne vous aide pas ci-dessus, vous pouvez également essayer de reproduire l'erreur dans Safari sur un ordinateur de bureau/ordinateur portable. Safari a un assez bon débogueur JavaScript qui peut vous aider à voir ce qui se passe et peut même vous permettre de parcourir votre code info.

Espérons que cela aide!

+0

Merci pour votre réponse. Se montre bien dans Safari sur PC. J'ai ajouté les erreurs et rien ne se montre. Toujours pas de contenu sur iPhone. Cela est étrange. – vitalyp