2012-01-26 11 views
0

数秒後に自動リフレッシュする必要があるYUIデータソースにバインドされたYUIデータテーブルがあります。私はローカルデータソース(同じページに宣言されたデータソース)を介してデータを読み取ることができますが、私はそれをリモートで読み取ることはできません。ターゲットページ(yui_data.cfm)へのリクエストが設定された間隔で行われていても、グリッドは「データロード中...」のままです。以下、ソースコード:データを要求するページのYUI DataTable読み込んでいますがデータが取得されていません

{ "records": [ {"id": 31, "name":"4fruit", "price":8323, "number":231} ] } 

ソースコード:

myDataSource = new YAHOO.util.XHRDataSource("yui_data.cfm?"); 
myDataSource.responseType = YAHOO.util.XHRDataSource.TYPE_JSON; 
myDataSource.responseSchema = { 
    resultsList: "records", 
     fields: [ 
      {key:"id", parser:"number"}, 
      {key:"name"}, 
      {key:"price",parser:"number"}, 
      {key:"number",parser:"number"} 
     ] 
}; 

myDataTable = new YAHOO.widget.DataTable("dynamicdata", myColumnDefs, myDataSource); 

myCallBack = { 
    success: myDataTable.onDataReturnSetRows, 
    failure: function() { 
    }, 
    scope: myDataTable, 
    argument: myDataTable.getState() 
} 
myDataSource.setInterval(5000, null, myCallBack); 

上記(テスト用)yui_data.cfmの

ソースコードは以下であります例は、行があるときにのみ動作します myDataSource = new YAHOO.util.XHRDataSource( "yui_data.cfm?"); が次のように変更されました。 myDataSource = new YAHOO.util.XHRDataSource(YAHOO.data.sample); //例として!

答えて

0

前回のJSON出力の前にResultSetとResultを付けて、そのパスから読み取るようにレスポンススキーマresultListを変更することで、問題を解決できました。

関連する問題