我很确定,我搞砸了。
我通过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 View 中:
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
中突然出现了带有 °
的内容,则解析会出错。
..任何指导将不胜感激。
最佳答案
您可以返回json数据
:
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;
}...
关于python - AJAX - Django - 更好的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26041171/