2011-03-04 77 views
0

我曾经遇到过一个奇怪的问题,用下面的代码JQuery的数据表插件的问题

$(document).ready(function() { 
$('#example').dataTable({ 
    "bProcessing":true, 
    "sAjaxSource":'http://localhost/utcms/json_source2.txt'}); 
}); 
}); 

此代码将数据加载到表中,如果我运行Safari中的网页没有问题。我的问题是,如果我通过django使用render_to_response运行同一页面,我所得到的就是处理签名中没有数据。在调试时它只是说:无法加载资源:取消。

它不是一个无法找到源文件的问题,我也打折了由于渲染页面和中断获取过程导致的问题的可能性。我必须在数据表设置中丢失一些东西。奇怪的是,它在静态页面上工作,但不在django呈现页面上,即使它看到该文件,否则它将在调试时为该文件生成404。

任何建议将受到欢迎

干杯

克里斯

PS:我是新来的jQuery和数据表

回答

0

我有一个解决办法,如果其他人是否有类似的困难。它不是优雅的,但它的作品。

从JQuery请求函数中获取JSON响应并解析它并将其作为一个数组加载到表中。正如我所说这不是优雅,但它的作品。

+0

我刚刚发现这个问题是由于在localhost:8000上生成开发站点和在localhost上生成文件导致的脚本问题。 (跨站脚本错误,我想它叫) – Lipwig 2011-03-17 13:55:42

0

你应该尝试添加mimetype option选择render_to_response到:

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的数据表和它的服务器端处理的功能,因为我也一样,你真的应该检查these utilities for Django。安装后,它可以归结为使用几行代码并将其传递给查询集。