views.py
def ajax1(request):
ret={'status':'true','message':'successful'}
return HttpResponse(json.dumps(ret))
<h2>基于Ifram和form的伪ajax</h2>
<iframe id="i1" name="ifra" ></iframe>
<form id="i2" method="get" action="ajax1.html" target="ifra" #(onload="loadifram(this);")>
#target等于ifram的name,使from与ifram绑定,如果在标签上绑定onload事件,需要传参数this,函数也要定义到上面,否则绑定找不到
<input type="text" value="1111111111">
#以下两种提交方法效果相同
#<input type="submit" value="提交">
<a onclick="AjaxSubmit5()">提交</a>
</form>
<script src="/static/js/jquery-3.3.1.js"></script>
<script>
function loadifram() { #起到回调函数的作用
#两种方法找到ifram接收的内容,下面onload的绑定方法,this就是ifram标签
# console.log(this.contentWindow.document.body.innerHTML);
# console.log($('#i1').contents().find('body').html());
var content=this.contentWindow.document.body.innerHTML
var res=JSON.parse(content)
if(res.status){
alert(res.message)
}
}
function AjaxSubmit5() {
document.getElementById('i1').onload=loadifram; #提交时为ifram绑定onload事件
document.getElementById('i2').submit();
}