我很确定,我搞砸了这个。
我执行ajax请求以获取对象的一些信息。
$.ajax({
url: "/get_obj_ajax/",
type: "get",
data: {id:id}
}).done(function(data){
if(data!='bad'){
data = data.split('°');
var objtitle = data[0];
var objcontent = data[1];
..
});
和django观点:
def get_obj_ajax(request):
if request.method == "GET":
obj= MyModel.objects.get(id=int(request.GET.get('id')))
data = obj.title + '°' + obj.content
return HttpResponse(data)
return HttpResponse('bad')
这是我通常做的事情。但是今天我正在吃午饭时,我想,必须有一些更专业的方法来解决这个问题...因为我觉得这个代码太愚蠢了。如果我的obj突然content
中有°
的内容,那么解析就会出错。
..任何指导将不胜感激。
答案 0 :(得分:1)
您可以返回json data
:
def get_obj_ajax(request):
import json
data={"issuccess": 'no'}
if request.method == "GET":
obj= MyModel.objects.get(id=int(request.GET.get('id')))
data = {"issuccess": 'yes',"title":obj.title ,"content": obj.content}
return HttpResponse(json.dumps(data), content_type="application/json")
模板中的:
if(data.issuccess == 'yes'){
var objtitle = data.title;
var objcontent = data.content;
}...