django 返回ajax html,Django 前台通过json 取出后台数据

前台通过json 取出后台数据

步骤1:后台数据通过 JSON 序列化成字符串

注意:1、json是1个字符串

2、通过json.dumps('xxx') 序列化成 1个字符串的 '字典对象'

views.py

def ajax(request):

if request.method=='POST':

print(request.POST)

data={'status':0,'msg':'请求成功','data':[11,22,33,44]}

return HttpResponse(json.dumps(data))

else:

return render(request,'ajax.html')

8332f02b4eab98d6bf2218f87947c311.png

此时浏览器返回的数据

38a9383ebbe683d6510166f7a58d9e7e.png

步骤2:前台取出后台序列化的字符串

方法1:正则表达式 (不推荐)

方法2:jQuery.parseJSON() ,需要import json

转换成1个JQuery可识别的字典(对象)   通过 对象. xxx 取值  (推荐)

views.py序列化:return HttpResponse(json.dumps(data))

ajax.html 取值:var obj=jQuery.parseJSON(arg)

console.log(obj.status)

修改后的tempates 中ajax.html 代码

function DoAjax(){

var temp=$('#na').val()

$.ajax({

url:'/ajax/', //url相当于 form 中的 action

type:'POST', //type相当于form 中的 method

data:{dat:temp}, // data:传人的数据 dat为任意设置的内容,相当于模版中的{author:lee}

success:function(arg){ //成功执行 console.log() 函数 arg 为HttpResponse 返回的值

var obj=jQuery.parseJSON(arg) //转化成JS识别的对象

console.log(obj) //打印obj

console.log(arg) //json.dumps(data) 序列化后的数据

console.log(obj.status) //取json.dumps(data)字典的值status

console.log(obj.msg)

console.log(obj.data)

console.log('request.POST 提交成功')

},

error:function(){ //失败

console.log('失败')

}

});

}

此时前台浏览器 显示数据

c63e42b05281a8a7c2b50a68ad66b97d.png

方法3:content_type='application/json'

views.py序列化:return HttpResponse(json.dumps(data),content_type='application/json')

浏览器F12有变色提示

或:HttpResponse(json.dumps(data),content_type='type/json')   浏览器F12无变色提示

ajax.html取值 arg.xxx

方法4:使用JsonRespon 包 (最简单)  前台通过 arg.xxx 取值

views.py 序列化:return JsonResponse(data)

ajax.html 取值:arg.xxx

区别:HttpResponse 需要dumps

JsonResponse 不需要dumps

views.py

from django.shortcuts import render

from django.http import JsonResponse

def ajax(request):

if request.method=='POST':

print(request.POST)

data={'status':0,'msg':'请求成功','data':[11,22,33,44]} #假如传人的数据为一字典

#return HttpResponse(json.dumps(data)) #原来写法,需要dumps

return JsonResponse(data) #后来写法

else:

return render(request,'ajax.html')

templates 中的 ajax.html

function DoAjax(){

var temp=$('#na').val()

$.ajax({

url:'/ajax/', //url相当于 form 中的 action

type:'POST', //type相当于form 中的 method

data:{dat:temp}, // data:传人的数据 dat为任意设置的内容,相当于模版中的{author:lee}

success:function(arg){ //成功执行 console.log() 函数 arg 为HttpResponse 返回的值

//var obj=jQuery.parseJSON(arg)

//console.log(arg) //json.dumps(data) 序列化后的数据

console.log(arg.msg)

/*

console.log(obj)

console.log(obj.status) //取json.dumps(data)字典的值status

console.log(obj.msg)

console.log(obj.data)*/

console.log('request.POST 提交成功')

},

error:function(){ //失败

console.log('失败')

}

});

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Toad for Oracle 导入MIP.dmp文件时:报内存不足时的解决办法:

摘要:最近在使用Oracle数据库开发项目,其中在用Toad for Oracle连接操作Oracle11g的时候出现了问题,问题是这样的:在数据库管理员的连接下导入已经建立的用户的dmp文件,会报内存不足的问题,最后经查&#x…

长春金桥计算机学校,金桥学校2017年招生简章

原标题:金桥学校2017年招生简章金桥学校创建于2000年5月,现有45个教学班,在校学生2700余人。近年来,学校以“培养高素质的现代中国人”为办学目标,坚持“德育为首、做人第一”的办学理念,积极改革创新&…

计算机联锁软件毕设论文,铁路信号计算机联锁系统()毕设论文.doc

铁路信号计算机联锁系统()毕设论文PAGE北京交通大学信号10级毕业论文题 目 微机联锁系统故障及处理分析专 业 铁道信号班 级 10信号姓 名 陈 勇二0一二 年 七 月摘 要计算机联锁系统是实现铁路现代化和自动化的基础设施之一,是一种高效、安全的车站联锁设备&#xf…

工业炉温度计算机控制系统,热处理工业炉计算机控制系统组态王+PLC)

品牌景欣型号Autocarb工作电压220V(V)输出频率50(kHz)产品认证已认证jsj型可控气氛工艺过程计算机集散控制系统,由上位工业控制计算机或者工作站,下位由智能数显温度控制仪表,智能可编程碳势控制仪表,嵌入式控制仪表,p…

集装箱计算机跟踪管理方式,集装箱总复习

国际集装箱运输与多式联运第一章一、名词解释1、集装箱运输:就是将货物装在集装箱内,以集装箱作为一个货物集合或成组单元,进行运输、装卸、搬运的运输工艺和运输组织形式。2、集装箱运输系统:是指集装箱运输全过程所涉及的各个环…

计算机技术与通讯,通信技术与计算机技术的融合发展

产 城 96数字应用通信技术与计算机技术的融合发展聂东辉摘要:通信在人类社会发展和进步中发挥的作用毋庸置疑。通信方式的变革和通信技术的进步在很大程度上改变了人类社会的发展进程。目前通信技术和各个行业结合越来越亲密,因此我们在未来必须要通过对…

Oracle中通过substr和instr实现截取指定字符之间的字符串:

摘要:在开发项目的过程中遇到了这样的一个问题,就是从远程服务器取到的数据中是由一段规则的字符串组成的,但是你想要的还不是这段字符串,是其中的一段字符串,那就的使用Oracle强大的函数了,我的问题是这样…

四川省中职计算机考试题,四川省计算机等级考试模拟试题(一级)

四川 计算机 等级考试 模拟 试题 一级四川省计算机等级考试一级模拟试题(一)一、单选题 (每小题选出一个最合适的答案,共40分)1、用MIPS来衡量的计算机性能指标是(C )(A)处理能力 (B)可靠性 (C)运算速度 (D)存储容量MIPS(Million Instructions Per Second)&#xff…

量子计算机模型机,物理科学:量子计算机上实现了量子人工生命模型!

物理科学:量子计算机上实现了量子人工生命模型!UPV / EHU-巴斯克地区大学的一个项目首次在量子计算机上实现了量子人工生命模型。由UPV / EHU物理化学系的Ikerbasque教授Enrique Solano领导的量子信息科学技术(QUTIS)研究小组开发了一种量子仿生协议&…

计算机系统死机,电脑总是突然死机?3 分钟教你轻松恢复 Windows

说到 Windows 系统,你想到的第一个词语是什么?如果是我的话,想到的一个词是「蓝屏」,虽然 Windows 10 经过几年的更新迭代,蓝屏的概率已经少了很多,但出现蓝屏时,总让人感叹:「还是那…

计算机lab模式适用于,计算机考证二级选择题1

看看如果设定了Rollover中某个状态的效果,则 CA.在动画面板上制作的动画适用于所有的Rollover状态B.动画不能应用在Rollover状态上C.在动画面板上制作的动画仅适用于当前的Rollover状态D.同一动画不能赋予多个Rollover…

服务器安全证书更新失败怎么回事,手机安全证书更新失败怎么回事

众所周知,手机安全证书如果失效或者过期之后是需要重新下载的,否则很多应用就不能正常的使用,可是手机安全证书更新失败也是存在的,手机安全证书更新失败怎么回事呢?了解网络安全常识,首先就要了解佰佰安全网小编就带…

Oracle中通过Function,存储过程,触发器,调用实现解析Clob字段中存在的xml字符串...

摘要:接着之前的问题,在Oracle数据库中通过Function,存储过程,触发器实现解析数据表中CLOB大数据字段中存在的xml字符串有时,有个特殊的时间字符串要在数据库格式化处理,之前解析过来的时间字符串是&#x…

安农大计算机调剂,2020年安徽农业大学硕士研究生调剂公告

各位考生:为鼓励优秀考生调剂报考我校,根据我校实际情况,经研究特发布本公告。一、调剂专业二、调剂办法(一)接收调剂考生必须通过全国统一的调剂系统进行。(二)调剂系统第一次持续开放12小时后暂时关闭,学校对调剂考生的信息进行…

css布局 右固定,CSS左侧固定右侧自适应的五种布局方法

在页面或者布局列表中,常常有左侧固定,右侧自使用的情况,接下来,这五种方法满足这个需求。一、左边浮动,右边margin.box{height: 200px;background-color: skyblue;}.left{float:left;width:100px;height:200px;}.righ…

css现在还用浮动吗,css3-9 css中的浮动怎么使用

css3-9 css中的浮动怎么使用一、总结一句话总结:用来做一般的行效果,比如说手机左右分布的头部导航栏。浮动的东西放到一个div中去,里面的内容根据需求左浮动或者右浮动,然后记得加上清除浮动。然后这整个div就是一个整体了。1、c…

ajax对日期处理,AJAX获取服务器当前时间及时间格式输出处理

AJAX获取服务器当前时间------------------------------ WebService1.asmx----------------------------------// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。[System.Web.Script.Services.ScriptService]public class WebService1 : …

wif检测到DNS服务器未响应,hiwifi(极路由)恢复出厂的设置方法

摘 要极路由(hiwifi)怎么恢复出厂设置?想把极路由恢复出厂设置,但是不知道怎么设置。极路由恢复出厂设置的操作其实非常简单,有下面2种方式可以把极路由恢复出厂设置 1、按复位按钮恢复出厂设置 2、登录到极路由(hiwifi)怎么恢复出厂设置?想把…

Oracle存储过程中如何根据指定的参数判断该参数的值否存在数据表中:

摘要:最近项目中用到了Oracle存储过程,所以就自己尝试着写了下,下面我把我遇到的问题描述一下:就是在我处理解析Clob字段中的xml字符串的时候,有个需求就是根据指定的主键参数,来判断该参数的值是否已经存在…

命运2服务器维护时间2019,《命运2》今晚将停机维护 为多平台共用存档做准备...

原标题:《命运2》今晚将停机维护 为多平台共用存档做准备《命运2(Destiny 2)》将于今晚(6月27日)10点,开始12个小时的停机维护,这次维护是为支持跨平台共享存档做准备。如果你是今天晚上想玩会《命运2》的玩家最好来看看&#xff…