伪ajax操作

什么是伪Ajax操作?

说白了就是假的ajax操作,但是它和正常的ajax操作的目的是一样的,把前端的信息发送到后台

先看一下代码吧!

ajax.html
    <form action="/ajax_json/" method="POST" target="ifm1">    <!--伪ajax发送,target="ifm1" 使form和iframe建立关系,表单提交通过ifram提交给后台-->
        <iframe id="ifm1" name="ifm1" ></iframe>
        <input type="text" name="username" />
        <input type="text" name="email" />
        <input type="submit" onclick="sumitForm();" value="Form提交"/>
    </form>

    <script type="text/javascript" src="/static/jquery-1.12.4.js"></script>
    <script>

        function getXHR(){       // 兼容函数
            var xhr = null;
            if(XMLHttpRequest){
                xhr = new XMLHttpRequest();
            }else{
                xhr = new ActiveXObject("Microsoft.XMLHTTP");     //创建IE特殊对象
            }
            return xhr;
        }
    function sumitForm(){        //伪操作
      $('#ifm1').load(function(){
   var text = $('#ifm1').contents().find('body').text();
   var obj = JSON.parse(text);
  })
</script> 
views.py

def ajax(request):
  return render(request, 'ajax.html')
def ajax_json(request):
  import time time.sleep(3)
  print(request.POST) #打印request.POST内的内容
  ret = {'code': True , 'data': request.POST.get('username')}
  import json
  return HttpResponse(json.dumps(ret)) #向前台发送ret,利用json.dumps()将ret变为字符串

 前端的网页显示为:

后台接收的效果为:

利用iframe没有通过ajax直接实现了ajax功能,所以称作这为伪ajax操作

原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/9133400.html