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=utf-8`
|
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 妥,可以。
|