如何简单绑定jQuery ajax和Django?

时间:2013-09-23 11:18:11

标签: jquery ajax django

我尝试使用纯jQuery与Django的ajax。 对于测试我尝试发送数据,然后返回一些数据。 ajax.js:

var jq = jQuery.noConflict();
jq(document).ready(function(){
    jq.ajax({
        type: 'get',
        url: '/realty/ajax/test/',
        data: 'test',
        success: function(data){
            alert(data);
        },
        error: function(){
            alert("error");
        }
    });
});

urls.py:

urlpatterns = patterns('',
    ...
    url(r'^ajax/test/$', ajax.test),
)

ajax.py:

def test(request):
    return HttpResponse(request)

但是,警报是空的,就像'请求'是空的。但是there is look like work

1 个答案:

答案 0 :(得分:1)

您应该在视图中返回序列化数据:

import json
def test(request):   
    result = {'result': True}
    returned_json = json.dumps(result)
    return HttpResponse(returned_json, mimetype="application/json")

在你的javascript中:

var jq = jQuery.noConflict();
jq(document).ready(function(){
    jq.ajax({
        type: 'get',
        url: '/realty/ajax/test/',
        data: 'test',
        success: function(data){
            alert(data.result);
        },
        error: function(){
            alert("error");
        }
    });
});

这将向您显示具有真实价值的警报。