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.');
}
});
});
基本上,代码会转到存储在我们的开发服务器上的 PHP 文件并从数据库返回数据,在本例中是它的事件名称、描述、类型和 id,id 是数据库中行的 id(主键)。
在每次迭代中,它会在以下位置输出正确的 item.id:'+item.id+'
'。但是,当您点击每个链接时,您将转到新页面 localStorage.setItem -> 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 -> pageId 始终相同,因此它始终等于 1,即数据库中的第一个 id。但是我需要它,以便当您单击链接时,它会将您带到每次迭代的正确 ID。
据我所知,我无法进行获取/发布,因为应用程序无法读取 PHP,因为它是用于智能手机的,因此设备上的数据处理是通过从 JSON 发送的 javascript/数据(以及 HTML 结构);有任何想法吗?