0

我尝试在 Django 中使用纯 jQuery 进行 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");
        }
    });
});

网址.py:

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

ajax.py:

def test(request):
    return HttpResponse(request)

但是,警报是空的,就像“请求”是空的。但有看起来像工作

4

1 回答 1

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");
        }
    });
});

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

于 2013-10-25T15:38:51.170 回答