0

我正在使用 JSONP 将数据动态添加到我的 Android Phonegap 应用程序中。由于 Phonegap 2.5(及更高版本)允许应用程序缓存,我想使用它。唯一的问题是,此时,我的数据在一个 php 文件中。我从 php 文件中读取的数据不能被缓存清单缓存,所以我正在考虑将其更改为 js 或其他东西。知道我会怎么做吗?我已经尝试了很多关于 JSONP 的教程,但是让 JSONP 工作的唯一方法是使用 PHP。他们对我应该如何保存我的数据文件(目前称为 home.php)也很模糊。

主页.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>
4

1 回答 1

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。

于 2015-04-27T06:56:32.837 回答