我有一个被查询和链接的“病人”列表:
list.append($(document.createElement('li')).html("<a href='./patient.html?id="+data[i].UnitNumber+"'><img src='http://URLGOESHERE/wcf/PatientSearch.svc/patientpic.jpg?unitnumber="+data[i].UnitNumber+"&type='/><h3>"+data[i].LastName+", "+data[i].FirstName+" "+data[i].MiddleName+"</h3><p>Age: "+data[i].Age+"</br>SSN: "+data[i].SSN+"</p></a><a href='./patient.html?id="+data[i].UnitNumber+"' data-transition='slideup'>info</a>"));
点击该页面后,我到达患者个人资料页面,该页面应使用URL中的查询加载部分数据(即patient.html?id = 100002)。该ID用于getJSON调用以填充各个字段。我想在页面加载后立即发生这种情况。
问题:当点击上面的列表元素之一时,它会转到患者个人资料页面,但没有填充任何字段。如果我刷新同一页面,则所有数据都可以正常加载。这是一些代码:
function login() {
var query = window.location.search;
if (query.substring(0, 1) == '?') {
query = query.substring(4);
}
$.getJSON("http://URLGOESHERE/wcf/PatientSearch.svc/byunitnumber?unitnumber="+query+"", function(data) {
var head1 = document.getElementById("name");
var newtitle=""+data.LastName+", "+data.FirstName+" "+data.MiddleName+"";
head1.firstChild.nodeValue=newtitle;
document.frmLogin.email.value=" "+data.BirthDateText+" ("+data.Age+")";
document.frmLogin.password.value=" "+data.SSN;
document["profpic"].src = "http://URLGOESHERE/wcf/PatientSearch.svc/patientpic.jpg?unitnumber="+query+"&type=pic";
});
}
我在document.ready上调用函数“login()”。我甚至试着称它为“onLoad”的身体。不知道为什么链接时这不起作用,但如果我直接转到URL或刷新..
答案 0 :(得分:0)
在多页文档中进行链接 单个HTML文档可以包含一个或多个页面&#39;容器只需堆叠多个div,数据角色为&#34; page&#34;。这允许您在单个HTML文档中构建一个小型站点或应用程序; jQuery Mobile将只显示第一个页面&#39;它在页面加载时在源顺序中找到。
如果多页文档中的链接指向一个锚(#foo),框架将查找具有该ID的页面包装器(id =&#34; foo&#34;)。如果它在HTML文档中找到一个页面,它会将新页面转换为视图。您可以在本地,内部和#34;页面之间无缝导航。和jQuery Mobile中的外部页面。两者对最终用户看起来都是一样的,只是外部页面在加载时会显示Ajax微调器。在任何一种情况下,jQuery Mobile都会更新页面的URL哈希,以启用后退按钮支持,深层链接和书签。
重要的是要注意,如果您从通过Ajax加载的移动页面链接到包含多个内部页面的页面,则需要添加rel =&#34; external&#34;或data-ajax =&#34; false&#34;到链接。这告诉框架执行整页重新加载以清除URL中的Ajax哈希。这很重要,因为Ajax页面使用散列(#)来跟踪Ajax历史记录,而多个内部页面使用散列来指示内部页面,因此这两种模式之间的散列会发生冲突。
例如,指向包含多个内部页面的页面的链接如下所示:
href="multipage.html" rel="external">Multi-page link