我尝试使用纯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。
答案 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");
}
});
});
这将向您显示具有真实价值的警报。