
def add_game_item(request): if request.is_ajax(): platformId = request.POST.get("platformId") plantName = plat_info.objects.filter(plat_id=platformId) # host_list = host_info.objects.filter(plat_name=plantName) mysql_list = mysql_info.objects.filter(plat_name=plantName) json_data = serializers.serialize("json", plantName) print json_data return JsonResponse(json_data,safe=False) html ajax 内容
{% endblock %} {% block bottom-js %} <script type="text/Javascript"> $(document).ready(function () { $("#id_select").change(function () { {#alert('平台 id :'+$("#id_select").val())#} $.ajax({ type:"POST", url:"/items/add_game_item/", data:{platformId:$("#id_select").val()}, cache:false, dateType:"json", success:function (data) { alert(data); alert(data.length) alert(typeof data) } }); return false; }) }) </script> {% endblock %} 其中 alert(data)内容如下:

alert(typeof data)内容如下:

data 返回是一个 string 值,那么 views.py 里怎样处理才能返回一个 json 值给前端?
1 fanne OP 已解决,前端转 json 对象 var data_json = JSON.parse(data) |
2 robinlovemaggie 2017-04-01 14:41:34 +08:00 上 djangorestframwork 开启序列化即可 |
3 baiyi 2017-04-01 14:45:50 +08:00 Response Headers 中应该有 `Content-Type:application/json; charset=` |
4 Gothack 2017-04-01 14:45:59 +08:00 我习惯用 return HttpResponse(json.dumps(result,sort_keys=True), content_type="application/json") |
5 daveze 2017-04-01 15:30:44 +08:00 使用 django-restframwork |
6 fanne OP @daveze @robinlovemaggie 妥,可以。 |