jsonデータをweb2pyコントローラからjQuery dataTableにAJAX経由でロードしようとしています。
空のdataTableのみがレンダリングされます(希望の書式設定、検索ボックスなどで)
私が間違いを犯した場所について私のコードに指摘してください。
データが表示されません(「get_data」メソッドによって返されます)。
データベーステーブルにデータが入力されていることを確認しました。試験目的のため
コントローラweb2pyのjQuery dataTableのJSONデータ
def show_data():
return dict()
def get_data():
custdata = db.executesql(qry, as_dict=True)
return custdata
、Iは "jsonlint.com" に同じ検証&別の方法でresponse.json(CUSTDATA)を返さ。 有効なjsonです。
ビュー(show_data.html)
{{extend 'layout.html'}}
$(document).ready(function() {
var oTable = $('.smarttable').dataTable({
"sScrollY": "200px",
"sAjaxSource": "{{=URL('MIS','get_data.json')}}",
"sDom": "frtiS",
"bDeferRender": true
});
});
最後に、HTMLのテーブルタグは= "smarttable" クラスを使用してテーブルに定義されている
私はすでに "コントローラ"でdict(data = custdata)を返そうとしていました。次に、 "ビュー"で、そのデータにアクセスしようとしました: - "sAjaxSource": "{{= URL( 'MIS'、 'get_data')}}" response.json(custdata)が使用され、ブラウザで直接アクセスされると、ブラウザページにjsonが書き込まれます。しかし、 "sAjaxSource"からアクセスすると、データはレンダリングされません。私は "get_data"メソッドを呼び出す方法に何か間違っていると思います。あなたpl。間違いを見つけるのを助ける?....ありがとう。 – Vineet
MISはアプリ名かコントローラ名ですか?URL()はそれがコントローラ名であると想定し、/ appname/MIS/get_dataとしてURLを生成します - それは/ MIS/controller/get_dataでなければなりません(その場合は、 URL()へのあなたの呼び出しでコントローラ名を使って 'MIS')を呼び出します。 – Anthony
私はこのような構造を持っています。 a = 'MyWheels'、c = 'MIS'、f = 'get_data'。したがって、{{= URL( 'MIS'、 'get_data')}}は動作するはずです。しかし、データをdataTableに戻すことはありません。 – Vineet