zoukankan      html  css  js  c++  java
  • 原生Ajax与jQuery的Ajax和伪Ajax

    用原生的ajax发送请求
               var xhr = new XMLHttpRequest();
                xhr.open('请求方式(post/get)', '请求url',true);
                xhr.onreadystatechange = function(){
                    if(xhr.readyState == 4){
                        // 接收完毕
                        var obj = JSON.parse(xhr.responseText); //获取请求回来的数据
                    }
                };
                xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset-UTF-8');
                xhr.send("发送的数据");
    
    用jQuery的Ajax发送请求
     $.ajax({
                    url: '/url/',
                    type: '请求方式',
                    data: 数据,
                    success:function(res){
                        
                    }
                })
    
    用伪Ajax
    <iframe id="ifm1" url='发起请求的url' style="display: none;"></iframe>
    
    如果伪Ajax先与form表单绑定发起伪ajax请求
    发送请求
        <form id="form1" action="发起请求的url" method="POST" enctype="multipart/form-data" target="与iframe的name绑定">
            <iframe id="ifm1" name="ifm1" style="display: none;"></iframe>
            <input type="file" name="fafafa" onchange="changeUpalod();" />
            <input type="submit" onclick="iframeSubmit();" value="Form提交"/>#}
        </form>
    获取返回的数据
            function iframeSubmit(){
                $('#ifm1').load(function(){
                    var text = $('#ifm1').contents().find('body').text();
                    var obj = JSON.parse(text);
                })
            }
    
    因为iframe里面的数据是服务端返回了才有,也就是说服务端返回就会触发onload事件,所以说我们可以在提交的时候给iframe绑定load事件,等服务器返回就会触发这个事件
    
    发送文件
    原生ajax
                var file_obj = document.getElementById('fafafa').files[0];
    
                var fd = new FormData();
                fd.append('fafafa',file_obj);
                fd.append('pwd','123')
    			xhr.send(fd);
    jQuery中的ajax
        function jqSubmit(){
                // $('#fafafa')[0]
                var file_obj = document.getElementById('fafafa').files[0];
    
                var fd = new FormData();
                fd.append('username','root');
                fd.append('fafafa',file_obj);
    
                $.ajax({
                    url: '/upload_file/',
                    type: 'POST',
                    data: fd,
                    processData: false,  // tell jQuery not to process the data
                    contentType: false,  // tell jQuery not to set contentType
                    success:function(arg);
                    }
                })
  • 相关阅读:
    java学习(19-IO高级)
    java学习(18-异常)
    java学习(17-Map和Set)
    java学习笔记(16-集合)
    java学习笔记(15-高级api)
    java学习笔记(14-包和权限修饰符)
    Deno文件处理详解:如何写入文件、如何读文件、如何创建删除以及检查文件和目录。
    2020年12月8日建站随笔:IPlayIO中文网从上线到现在的一些总结
    2020 FreeBSD如何更换国内仓库源
    推荐11个值得研究学习的Python开源项目(从入门到python高级开发)
  • 原文地址:https://www.cnblogs.com/KingOfCattle/p/14312936.html
Copyright © 2011-2022 走看看