python - AJAX - Django - 更好的方法?

标签 python ajax django

我很确定,我搞砸了。

我通过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/

相关文章:

python - 如果值在列表中,则 Pandas Dataframe 中的重复行

jQuery (函数(a){...})(jQuery);

python - Django/Apache/Mod_WSGI - 静态文件的 HTTP 404 错误

php - 使用 AJAX 提交表单,将表单数据传递给 PHP,无需刷新页面

使用带有特殊字符的密码的 Javascript Ajax 调用

python - 如何将 XML 放入 HTML 模板中? python /Django

django - Django ORM:Group by和Max

Python Cocos2d : tiles show up only once

python - 使用 HTML5 编写器删除 docutils 输出中的 docinfo

python - 从文件中删除最后一个 Sprite