我遇到了以下代码的奇怪问题
$(document).ready(function() {
$('#example').dataTable({
"bProcessing":true,
"sAjaxSource":'http://localhost/utcms/json_source2.txt'});
});
});
如果我在safari中运行页面没问题,此代码会将数据加载到表中。我的问题是,如果我通过django使用render_to_response运行相同的页面,我得到的是处理符号没有数据。在调试时它只是说:无法加载资源:已取消。
这不是一个无法找到源文件的问题,我还打消了渲染页面和破坏获取过程导致问题的可能性。我必须在数据表设置中遗漏一些东西。奇怪的是它可以在静态页面上工作,但不能在django渲染页面上工作,即使它看到了文件,否则会在调试时为该文件生成404.
欢迎任何建议
干杯
克里斯
PS:我是JQuery和DataTables的新手
答案 0 :(得分:0)
如果其他人有类似的困难,我有一个解决方法。它不优雅,但有效。
从JQuery请求函数中获取JSON响应并解析它并将其作为Array加载到表中。正如我所说它不优雅但它有效。
答案 1 :(得分:0)
您应该尝试向render_to_response添加mimetype option:
from django.shortcuts import render_to_response
def my_view(request):
# View code here...
return render_to_response('myapp/utcms/json_source2.txt', {"foo": "bar"},
mimetype="application/json")
我使用了很多Jquery DataTables及其服务器端处理功能,你真的应该检查these utilities for Django。安装后,可以归结为使用几行代码并将其传递给查询集。