TL;帖子底部的DR
我正在为移动操作系统构建应用程序。这是相关的代码:
var pageId;
$(document).ready(function(){
var output = $('#output');
$.ajax({
url: 'http://dev.123456789.co.uk/db.php',
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
success: function(data, status){
$.each(data, function(i,item){
var linkedPage = '<h2><a href="displaySinglePost.html">'+item.eventName+'</a></h2>'
+ '<p>Description: '+item.description+'</p><p>Type: '
+ item.type+'</p><p id="pageid">'+item.id+'</p>';
output.append(linkedPage);
pageId = $('#pageid').html();
localStorage.setItem("pageId", pageId);
});
},
error: function(){
output.text('There was an error loading the data.');
}
});
});
基本上,代码转到存储在我们的dev服务器上的PHP文件,并从数据库返回数据,在这种情况下,它的eventName,description,type和id,id是数据库中行的id(主键) )。
在每次迭代中,它会输出正确的item.id:'+ item.id +'
'。
但是,当您单击每个链接以转到新页面localStorage.setItem - &gt; pageId始终相同,因此它始终等于1,即数据库中的第一个id。但是我需要它,以便当您单击链接时,它会将您带到每次迭代的正确ID。
据我所知,我无法进行获取/发布,因为应用程序无法读取PHP,因为它适用于智能手机,因此设备上的数据处理是通过JSON发送的javascript /数据(以及带HTML的结构) ;任何想法?
编辑:displaySinglePost.html:
var pageId;
$(document).ready(function(){
pageId = localStorage.getItem("pageId");
document.write("pageid: " +pageId);
var output = $('#output');
localStorage.clear();
$.ajax({
url: 'http://dev.xxxxxxx.co.uk/single.php',
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
success: function(data, status){
$.each(data, function(i,item){
var dataOut = '<h2><a href="displaySinglePost.html">'+item.eventName+'</a></h2>'
+ '<p>Description: '+item.description+'</p><p>Type: '
+ item.type+'</p>';
output.append(dataOut);
});
},
error: function(){
output.text('There was an error loading the data.');
}
});
});
太懒了;没读过:
但是,当您单击每个链接以转到新页面localStorage.setItem - &gt; pageId始终相同,因此它始终等于1,即数据库中的第一个id。但是我需要它,以便当您单击链接时,它会将您带到每次迭代的正确ID。
据我所知,我无法进行获取/发布,因为应用程序无法读取PHP,因为它适用于智能手机,因此设备上的数据处理是通过JSON发送的javascript /数据(和结构)用HTML);任何想法?
答案 0 :(得分:1)
您的意思是在每次迭代时设置本地存储项“pageID”,就像您的第一个示例一样吗?您可能会在每次迭代时覆盖它的值(最后一次迭代的item.id为1)。
但是,如果您想为每个ID创建一个链接,请尝试:
var dataOut = '<h2><a href="page.php?id='+item.id+'">'+item.eventName+'</a></h2>'
+ '<p>Description: '+item.description+'</p><p>Type: '
+ item.type+'</p>';
让php通过page.php
上的$ _GET处理id