0

最初のページにすべてのデータをロードしました。

<script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script> 
<script src="/Scripts/modernizr-1.7.min.js" type="text/javascript"></script>
<script src="/Scripts/ydn.db-jquery-0.7.5.js" type="text/javascript"></script>
<script src="/Scripts/jquery.mousewheel.js"></script>
...
var schema = {
        stores: [{
            name: 'products',
            keyPath: 'cdProduto',
            autoIncrement: false,
            indexes: [
                {
                    keyPath: 'cdCategoria'
                }, {
                    keyPath: 'dtUltimaAtualizacao'
                }]
        }]
    };

    var db = new ydn.db.Storage('db-test', schema);

    db.clear().done(function (num) {            
        db.add('products', [<%=jsonProducts%>]);            
    });

<%=jsonProducts%> は、C# バックエンドからいくつかの json を出力します。

私はこのような情報をロードすることができます、それは動作します:

db.get('products', '2').always(function (record) {...

その後、同じブラウザーとセッションで、2 番目のページ (/catalogo.html) をロードしようとすると、次のように「2」キーを使用して同じ製品をロードします。

<script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script> 
<script src="/Scripts/modernizr-1.7.min.js" type="text/javascript"></script>
<script src="/Scripts/ydn.db-jquery-0.7.5.js" type="text/javascript"></script>
<script src="/Scripts/jquery.mousewheel.js"></script>
...
var db = new ydn.db.Storage('db-test');         
db.get('products', '2').done(function (value) {
    console.log(value);
});

コンソールに「未定義」を返します。手がかりがありません。

その上、両方のページでhtmlキャッシュマニフェストを使用しています

<html manifest="/home/manifest">

たとえば、localhost とポート 60873 でアクセスして、ローカル サーバーでテストします。

何か不足していますか?それが既存のYDN-DBを開く正しい方法ではありませんか?

ありがとう!

4

1 に答える 1