我试图从j2D jQuery数据从j2ta控制器通过AJAX加载jQuery数据。
但是仅显示空白dataTable(具有期望的格式,搜索框等)
是否可以有人pl。在我的代码中指出我犯错的地方。
数据不显示(由“get_data”方法返回)。
我已经确保数据库表已填充。
控制器JSON数据jQuery dataTable在web2py
def show_data():
return dict()
def get_data():
custdata = db.executesql(qry, as_dict=True)
return custdata
出于测试目的,我回到在&验证相同的 “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”方法的方式有问题。你可以套住吗?帮助找到错误?....谢谢。 – Vineet
MIS是您的应用程序名称还是控制器名称?URL()将假设它是控制器名称,并生成URL为/ appname/MIS/get_data - 它应该是什么,或者它应该是/ MIS/controller/get_data(在这种情况下,您需要替换' MIS“,并在调用URL()时使用控制器名称)。 – Anthony
我有这样的结构。 a ='MyWheels',c ='MIS',f ='get_data'。所以,{{= URL('MIS','get_data')}}应该可以工作。但它不会将数据返回到dataTable中。 – Vineet