0

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"
    }
]
);

home.php からデータを呼び出す index.html のスクリプト

<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 に答える