我在链接中使用url变量来传递唯一ID,该ID通过ajax运行并使用.html()
注入。参见下面的代码
我添加了一个超时,在填充前将empty()
添加到了div,
链接到页面:
<a href="member.html?id=' + member.id + '" data-role="none" data-transition="slide">
页面创建:
$(document).on( "pageshow", "#member-page", function(event) {
.....
var request = $.ajax({
url: serviceURL + 'member_profile',
method: "GET",
data: { id : id },
dataType: "html"
});
request.done(function( data ) {
...
alert(html);
$('#member-profile').hide().empty().html(html).fadeIn();
});
request.fail(function( jqXHR, textStatus, errorThrown ) {
alert( "Request failed Line 752: " + textStatus + " - " + jqXHR.responseText);
$.mobile.loading( "hide" );
});
});
有时它可以工作,有时却不能。即使alert(html)
始终显示数据。
是否有更好的方法来传递ID和呈现页面,例如使用pagebeforecreate
答案 0 :(得分:1)
您错过了向我们展示代码中最重要的部分的过程。如果还包括$ .ajax部分,那么分析代码会容易得多。
我会假定两个可能的解决方案,而且我认为这两种解决方案在您的案例中都交织在一起。
您是否尝试过这样做:
$.ajax({
url: "YOUR ENDPOINT"
}).done(function(html) {
$('#member-profile').hide().empty().html(html).fadeIn();
});
通过这种方式,只有在实际接收到内容时,才会清理/填充内容。