我正在使用JSONP将数据动态添加到我的Android Phonegap应用中。由于Phonegap 2.5(及以上版本)允许应用程序缓存,我想使用它。唯一的问题是,此时,我的数据是在一个php文件中。我读到来自php文件的数据不能被缓存清单缓存,所以我正在考虑将其更改为js或其他东西。知道怎么做吗?我已经尝试过很多关于JSONP的教程,但是我能让JSONP工作的唯一方法就是使用PHP。他们对我应该如何保存我的数据文件(目前称为home.php)也非常模糊。
home.php
<?php echo $_GET["callback"] ?> (
[
{
"expo":"pit",
"datum":"05.06.2011 - 05.06.2016",
"img":"images/pit_home.jpg",
"link":"exp1_index.html"
},
{
"expo":"Space Odessy 2.0",
"datum":"17.02 - 19.05.2013",
"img":"images/so_home.jpg",
"link":"exp2_index.html"
}
]
);
index.html中的脚本,用于调用home.php中的数据
<script type="text/javascript">
$.ajax({
type: 'GET',
jsonpCallback: 'jsonCallback',
contentType: 'application/json',
dataType: 'jsonp',
url: 'http://mllsdemode.be/Ex-cache/home.php',
success: function(json) {
var $home = $("#home");
$home.empty();
$.each(json, function(i, el) {
$home.append("<td><a href=" + el.link + " data-ajax='false'><img src=" + el.img + "><div class='dsc'>" + el.expo + "<br><em>" + el.datum + "</em></div></a></td>");
});
},
error: function() { alert("Error reading jsonP file"); }
});
</script>
答案 0 :(得分:0)
好吧,如果我理解得很好,这是缓存的,你希望它被缓存而不是开发?然后添加一些标题来开发!
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
要轻松伪造您的JSON,您可以使用Simple JSON for PHP,它允许您构建复杂的JSON / JSONP。