jQuery2、AJAX、跨域请求

jQuery2
//属性选择器
			<body>
                <a href="#1">选择</a>
                <a href="#1">选择</a>
                <a href="#1">选择</a>
                <a href="#1">选择</a>
                <a href="#1">选择</a>
                <a href="#1">选择</a>
                <a href="#1">选择</a>

                <ul>
                    <li>1111111</li>
                    <li>1111111</li>
                    <li>1111111</li>
                    <li>1111111</li>
                    <li>1111111</li>
                    <li>1111111</li>
                    <li>1111111</li>
                    <li>1111111</li>
                </ul>
            </body>
        </html>
        <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            $('a[href]').css('font-size','40px')
//过滤选择器
            //last() first()  eq(索引)
            $('li').eq(3).css('color','yellow')
        </script>

//DOM的操作		
			<body>
                <h1 id="h">asf</h1>
            </body>
        </html>
        <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            var h1=document.getElementById("h");
            //h1.innerText+="abc";
            //h1.innerHTML="<span style='color: red;'>abc</span>"
            //var text=document.createTextNode("abc");
            //h1.appendChild(text);	
            //text() ===== innerText
            //html() ===== innerHTML		
            //追加
            $('h1').text($('h1').text()+"abc");
        </script>
	
//属性的操作
            <body>
                   <h1 align="center">asdfasdfasdf</h1>
            </body>
        </html>
        <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            /* var h1=document.getElementsByTagName("h1")[0];
            //var v=h1.getAttribute("align");
            //h1.setAttribute("align","left");
            var v=h1.getAttributeNode("align");
            v.value="right";
            //v.name
            h1.removeAttributeNode(v);
             */
            $('h1').attr('align','left');</script>
          
//元素CSS样式的操作
			 	<body>
                <div id="d1">
                    abc
                </div>
            </body>
        </html>
        <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            // var div=document.getElementById("d1");
            // div.style.height="200px"
            // div.style.width="200px"
            // div.style.border="1px black  solid";
            //div.style.cssText="color: red;font-size: 50px;font-weight:500;"

            //$('#d1').css('height','200px').css('width','200px').css('border','1px black  solid');


            $('#d1').css({
                'width': '100px',
                'height': '100px',
                'color': 'red',
                'border': '1px black  solid'
            })
        </script>
        
//元素样式的设置
            	<body>
                    <h1>asdfasdfasdfsadd</h1>
                    <h1>asdfasdfasdfsadd</h1>
                    <h1>asdfasdfasdfsadd</h1>
                    <h1>asdfasdfasdfsadd</h1>
                    <h1>asdfasdfasdfsadd</h1>
                    <h1>asdfasdfasdfsadd</h1>
                    <h1>asdfasdfasdfsadd</h1>
                    <h1>asdfasdfasdfsadd</h1>
                    <h1>asdfasdfasdfsadd</h1>
                    <h1>asdfasdfasdfsadd</h1>
                    <h1>asdfasdfasdfsadd</h1>
                    <h1>asdfasdfasdfsadd</h1>
                </body>
            </html>
            <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
            <script type="text/javascript">
                //$('h1').eq(2).css('color','red');
                //index 元素的索引,value css的属性旧值
                $('h1').css('color', function(index, value) {
                    if(index%2==0){
                        return "red"
                    }else{
                        return "yellow";
                    }
                })
            </script>
            
//class属性的操作
            	<style type="text/css">
                    .d1 {
                        width: 200px;
                        height: 200px;
                        background: red;
                    }
                    .d2 {
                        width: 200px;
                        height: 200px;
                        background: yellow;
                    }
                </style>
            </head>
            <body>
                <div class="d1">
                </div>
                <button type="button">切换颜色</button>
            </body>
        </html>
        <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            //$('div').attr('class','d2');
            //添加class属性。
            //$('div').addClass('d2');
            $('button').click(function(){
                $('div').toggleClass('d2');
            })
        </script>
            
//节点的操作
            		<body>
                        <h2>2222222</h2>
                        <div id="d2">

                        </div>
                    </body>
                </html>
         <script src="js/jquery.js" type="text/javascript" charset="utf-8">		</script>
                <script type="text/javascript">
                /* 	var bd=document.body;
                    var h1=document.createElement("h1");
                    bd.appendChild(h1);
                    h1.remove(); */
                    //创建节点
                    var h1=$("<h1>abc</h1>");
                    $('body').append(h1); //给父标签,添加子元素
                    h1.appendTo('body'); //把一个标签,移动到另一个标签的内部。
                    $('h2').appendTo('#d2');
                </script>
            
	//调换顺序
                    	<body>
                            <h1>1111111</h1>
                            <h1>1111111</h1>
                            <h2>2222222222222222222</h2>
                            <h2>2222222222222222222</h2>
                            <h2>2222222222222222222</h2>
                            <h2>2222222222222222222</h2>
                        </body>
                    </html>
              <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                    <script type="text/javascript">
                        var h1=$('h1');
                        $('h2').after(h1);
                    </script>
                    
	//包裹标签
                        //给每一个h1外面包裹一个div标签
                        //$('h1').wrap('<div></div>');
                        //给所有的h1标签外面只包裹一个div标签
                        $('h1').wrapAll('<div id="wai"></div>');
                        //移除包裹
                        $('h1').unwrap();
						//给我的所有子标签,外面套一个父标签。
						$('#wai').wrapInner("<div id='nei'></div>")
                            
    //事件的绑定       
                        <body>
                            <button type="button">一个按钮</button>
                        </body>
                    </html>
              <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                    <script type="text/javascript">
                        //bind(事件名,处理函数)绑定事件
                        /* $('button').bind('click',function(){
                            alert("点了");
                        })
                        $('button').bind('mouseover',function(){
                            $('button').css('background','red');
                        }) */
                        //可以连缀绑定多个事件
                        $('button').bind('click',function(){
                            alert("点了");
                        }).bind('mouseover',function(){
                            //$('button').css('background','red');
                            //this 表示绑定了该事件的元素对象。
                            $(this).css('background','red');
                        }).bind('mouseout',function(){
                            $(this).css('background','yellow');
                        })
                        //解绑事件。
                        //$('button').unbind(); //解绑所有事件
                        $('button').unbind('click'); //根据事件名解绑某个事件
                        //bind() 和 unbind() 方法在Jquery3.0之后的版本废弃掉了
                    </script>
	
//事件的处理 
                   <body>
                       <button type="button">一个按钮 </button>
                   </body>
               </html>
             <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
               <script type="text/javascript">
                   var one=function(){
                       alert(1111);
                
                   var two=function(){
                       alert(2222);
                
                   var three=function(){
                       alert(333);
                   }
                   $('button').bind('click',one).bind('click',two).bind('click',thr
                   //$('button').unbind('clic
                   //移除点击事件,对应的处理函数
                   $('button').unbind('click',one);
                   $('button').unbind('click',t
               </script>
               
//事件的简写调用
						<body>
                            <button type="button">一个安妮</button>
                        </body>
                    </html>
              <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                    <script type="text/javascript">
                    /* 	$('button').bind('click',function(){
                        }); */
                        /* $('button').click(function(){
                            alert("abc");
                        }).mouseover(function(){
                        }).mouseout(function(){
                        }) */
                        $('button').hover(function(){
                            //处理鼠标移入
                            $(this).css("background","red")
                        },function(){
                            //处理鼠标移除。
                            $(this).css("background","yellow")
                        });
                        /* 
                        $(document).ready(function(){
                        })
                         */
                    </script>
                    
//事件对象
								<style type="text/css">
                                div{
                                    height: 200px;
                                    width: 200px;
                                    background: red;
                                }
                            </style>
                        </head>
                        <body>
                            <div id="">
                                <button type="button">按钮</button>
                            </div>

                        </body>
                    </html>
              <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                    <script type="text/javascript">
                        $('div').mousedown(function(e){
                            //$(this).css('background','red');
                            //target: 获取的是触发了该事件的元素
                            //currentTarget:获取的是绑定了该事件的那个元素。
                            //var obj=e.currentTarget;
                            //$(obj).css('background','yellow');
                            alert(e.button);
                        //	alert(e.keyCode);
                        })
                    </script>
                    
//自动触发事件 
							<body>
                                <button type="button">一个按钮</button>
                            </body>
                        </html>
              <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                        <script type="text/javascript">
                             $('button').click(function(){
                                 alert("事件调用了");
                             }).trigger('click');
                        </script>
                        
//事件的绑定
							<body>
                                <button type="button"  id="btn1">一个按钮</button>
                                <button type="button" id="btn2">我的按钮</button>
                            </body>
                        </html>
              <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                        <script type="text/javascript">
                            //绑定
                            $('btn1').on('click',function(){
                                alert("abc");
                            })
                            //解绑
                            $('button').off('click');

                            //one() 让事件只触发一次。
                            $('#btn2').one('click',function(){
                                alert("执行一次");
                            })
                        </script>
                        
//显示隐藏动画
									<style type="text/css">
                                        div{
                                            height: 200px;
                                            width: 200px;
                                            background: red;
                                        }
                                    </style>
                                </head>
                                <body>
                                    <div id="">
                                    </div>
                                    <button type="button">显示</button>
                                    <button type="button">隐藏</button>
                                    <button type="button">切换</button>
                                </body>
                            </html>
             <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                            <script type="text/javascript">
                                $('button').eq(0).click(function(){
                                    $('div').show(1000);
                                })
                                $('button').eq(1).click(function(){
                                    $('div').hide(1000);
                                })
                                $('button').eq(2).click(function(){
                                    $('div').toggle(1000);
                                })
                            </script>
                            
//下拉上卷动画
									<style type="text/css">
                                        div{
                                            height: 200px;
                                            width: 200px;
                                            background: red;
                                        }
                                    </style>
                                </head>
                                <body>
                                    <div id="">
                                    </div>
                                    <button type="button">上卷</button>
                                    <button type="button">下拉</button>
                                    <button type="button">切换</button>
                                </body>
                            </html>
             <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                            <script type="text/javascript">
                                $('button').eq(0).click(function(){
                                    $('div').slideUp(1000)
                                })
                                $('button').eq(1).click(function(){
                                    $('div').slideDown(1000);
                                })
                                $('button').eq(2).click(function(){
                                    $('div').slideToggle(1000);
                                })
                            </script>
                            
//淡入淡出动画
									<style type="text/css">
                                        div{
                                            height: 200px;
                                            width: 200px;
                                            background: red;
                                        }
                                    </style>
                                </head>
                                <body>
                                    <div id="">
                                    </div>
                                    <button type="button">淡出</button>
                                    <button type="button">淡入</button>
                                    <button type="button">切换</button>
                                </body>
                            </html>
              <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                            <script type="text/javascript">
                                $('button').eq(0).click(function(){
                                    $('div').fadeOut(1000)
                                })
                                $('button').eq(1).click(function(){
                                    $('div').fadeIn()(1000);
                                })
                                $('button').eq(2).click(function(){
                                    $('div').fadeToggle(1000);
                                })
                            </script>                                                     
AJAX
//原生的AJAX的get请求
                //1.创建对象
                var xmlhttp = new XMLHttpRequest();
                //2.打开后台接口,发送请求
                //get请求,请求参数是拼接在url后面的。 ?num=1&name=abc
                xmlhttp.open("GET", "https://autumnfish.cn/api/joke/list?num=1", true);
                //3.发送请求
                xmlhttp.send();
                //4.接收服务端的响应
                xmlhttp.onreadystatechange = function() {
                    //判断readyState就绪状态是否为4,判断status响应状态码是否为200
                    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                        //获取服务器的响应结果
                        var responseText = xmlhttp.responseText;
                        //alert(responseText);
                        var obj=JSON.parse(responseText);
                        var text=obj.jokes[0]
                        var bd=document.body;
                        bd.innerText=text;
                    }
                }
            </script>

//原生的AJAX的post请求
				<body>
                    <button type="button" onclick="send()">发送Ajax请求之post请求</button>
                </body>
            </html>
            <script type="text/javascript">
                function send() {
                    //1.创建ajax对象
                    var ajax = new XMLHttpRequest();
                    //2.连接服务器
                    ajax.open('post', 'http://localhost:8080/login', true);
                    //3.post请求要设置请求头信息
              ajax.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
                    //4.发送请求,post请求的请求参数要写到send()方法里面
                    ajax.send("username=张三&password=123456");
                    //接收后台的响应
                    ajax.onreadystatechange = function() {
                        if (ajax.readyState == 4 && ajax.status == 200) {
                            var c = ajax.responseText;
                            alert(c);
                        }
                    }
                }
            </script>

//jQuery封装过后的AJAX请求get
					<body>
                        <button type="button">发送Ajax请求</button>
                    </body>
                </html>
            <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                <script type="text/javascript">
                    $('button').click(function() {
                        //发送Ajax
                        $.ajax({
                            type: 'get',
                            url: 'https://autumnfish.cn/api/joke/list555',
                            //请求参数
                            data: {
                                'num': '2'
                            },
                            //请求成功之后的回调
                            success: function(res) {
                           //res 返回的结果,JQuery 已经把返回的JSON字符串,已经转换成了JSON对象。
                                alert(res.msg);
                                alert(res.jokes[0]);
                            },
                            //请求失败之后的回调
                            error: function(error) {
                                //alert("请求失败了")
                                //alert(error);
                                //console.log(error);
                                //console.log(error.status);
                                //console.log(error.)
                                alert(error.status);
                                alert(error.statusText);
                            },
                            dataType: 'json' //接收后台返回的数据类型
                        });
                    })
                </script>

//jQuery封装过后的AJAX请求post
						<body>
                            <button type="button">发送Ajax请求</button>
                        </body>
                    </html>
              <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                    <script type="text/javascript">
                        $('button').click(function() {
                            //发送Ajax
                            $.ajax({
                                type: 'post',
                                url: 'http://localhost:8080/login',
                                //请求参数
                                data: {
                                    'username': '王五',
                                    'password': '888888'
                                },
                                //请求成功之后的回调
                                success: function(res) {
                           //res 返回的结果,JQuery 已经把返回的JSON字符串,已经转换成了JSON对象。
                                    alert(res.username);
                                    alert(res.password);
                                },
                                //请求失败之后的回调
                                error: function(error) {
                                    //alert("请求失败了")
                                    //alert(error);
                                    //console.log(error);
                                    //console.log(error.status);
                                    //console.log(error.)
                                    alert(error.status);
                                    alert(error.statusText);
                                },
                                dataType: 'json' //接收后台返回的数据类型
                            });
                        })
                    </script>

//AJAX之get方法
						<body>
                            <button type="button">get请求</button>
                        </body>
                    </html>
              <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                    <script type="text/javascript">
                        $('button').click(function(){
                            /* 
                             2. $.get():发送get请求
                                        * 语法:$.get(url, [data], [callback], [type])
                                            * 参数:
                                                * url:请求路径
                                                * data:请求参数
                                                * callback:回调函数
                                                * type:响应结果的类型 
                             */
                        $.get('https://autumnfish.cn/api/joke/list?num=1',function(res){
                                alert(res.msg);
                            },"json");
                        })
                    </script>

//AJAX之post方法
						<body>
                            <button type="button">post请求</button>
                        </body>
                    </html>
              <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                    <script type="text/javascript">
                        $('button').click(function() {
                            /* 
                             3. $.post():发送post请求
                                        * 语法:$.post(url, [data], [callback], [type])
                                            * 参数:
                                                * url:请求路径
                                                * data:请求参数
                                                * callback:回调函数
                                                * type:响应结果的类型
                             */
                            $.post('http://localhost:8080/login', {
                                'username': '王五',
                                'password': '888888'
                            }, function(res) {
                                alert(res.username);
                                alert(res.password);
                            }, "json");
                        })
                    </script>

//get JSON方法
						<body>
                            <button type="button">getJson请求</button>
                        </body>
                    </html>
             <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                    <script type="text/javascript">
                        $('button').click(function() {
                            /* 
                   4.直接请求JSON数据,post,get请求都可以 $.getJSON(url, [data], [callback])
                                                * url:请求路径
                                                * data:请求参数
                                                * callback:回调函数
                             */
                   $.getJSON('https://autumnfish.cn/api/joke/list?num=1',function(res){
                                alert(res.msg);
                            });
                        })
                    </script>
跨域请求
//同源策略:浏览器处于安全考虑的一个机制
//跨域请求:就会收到同源策略限制,导致后台返回的数据,会被浏览器劫持。
	//协议相同 + 域名相同 + 端口号相同
	//浏览器才认为是同一个网站.
	//才不同受到同源策略的影响.
	//才可以正常的发送 AJAX 请求.

 	/* 	跨域的解决的方式:
	1.jsonp 只支持get请求的跨域解决
	  jsonp:解决跨域的原理是什么?
	  jsonp,就是利用了某些html标签,在进行跨域请求时,不受同源策略的限制。
	  img  script;	
	  */
				<title></title>
	<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
                </head>
                <body>
                <img src="https://cn.vuejs.org/images/logo.png" >	
                </body>
            </html>
            <script type="text/javascript">
                alert($);
			</script>
	  
	/*2.cors 解决,推荐的解决方式 	
		当前浏览器发现这次Ajax请求时跨域请时,
		浏览器会通过一个请求头Origin 告诉服务器这次请求是一个跨域请求,期待你的回答。
		服务器默认都会处理,跨域请求。并且给出响应,但是默认服务器默认没有对于跨域给出一个明确的表示。
		也就是服务器没有设置 Access-Control-Allow-Origin 导致浏览器,不知道服务器的明确表态,所以就拦截了。
		默认浏览器就会把服务返回的数据劫持了。
		Origin:http://127.0.0.1:8848		
		Access-Control-Allow-Origin: *
		*/

//JSONP跨域请求
					<body>
                        <button type="button" onclick="send()">jsonp请求</button>
                    </body>
                </html>
                <script type="text/javascript">
                        //后台做法:
                        /* 
                         tel=13259141515
                         callback=getData

                         getData({
                            num:100
                         })
                         //jsonp 后台返回数据的形式
                         getData({
                             mts:'1325914',
                             province:'陕西',
                             catName:'中国联通',
                             telString:'13259141515',
                            areaVid:'30503',
                            ispVid:'137815084',
                            carrier:'陕西联通'
                         })
                         callback:这个名称是大家约定俗成的
                         */
                        //原生JSONP的写法
                        function getData(res){
                            alert(res.province);
                        }
                </script>

                <script src="https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13259141515&callback=getData"></script>
				
//jQuery发送JSONP请求
					<body>
                        <button type="button">发送jsonp请求</button>
                    </body>
                </html>
              <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
                <script type="text/javascript">
                    /* 
                     jQuery111308155352926962021_1603010735068({
                         mts:'1325914',
                         province:'陕西',
                         catName:'中国联通',
                         telString:'13259141515',
                        areaVid:'30503',
                        ispVid:'137815084',
                        carrier:'陕西联通'
                     })
                     */
                    function getJsonData(res) {
                        alert(res.province);
                    }
                    $('button').click(function() {
                        $.ajax({
                            type: "GET",
                            url: "https://tcc.taobao.com/cc/json/mobile_tel_segment.htm",
                            data: {
                                tel: "13259141515"
                            },
                            //多了这个 
                            jsonp: "callback", //jsonp 请求 回调函数名Jqurey会自动生成 
                            //指定jsonp的回调函数
                            //jsonpCallback:"getJsonData",//可以指定JSONP回调的函数名
                            success: function(res) {
                                alert(res.catName);
                            },
                            //数据类型jsonp 
                            dataType: "jsonp"
                        });
                        
          //简化写法                  
                    /* 	$.getJSON("https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13259141515&callback=?", function(res) {
                            alert(res.catName);
                        }); */
                    })
                </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值