美文网首页海纳百川
Jquery知识点回顾

Jquery知识点回顾

作者: 凛冬已至_123 | 来源:发表于2018-06-26 12:19 被阅读0次

    本文只写三部分

    事件处理

    <div class="box">
      <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
      </ul>
    </div>
    <input id="ipt" type="text"> <button id="btn">添加</button>
    <div id="wrap">
    </div>
    
    <script>
    $('.box li').on('click', function(){
        console.log(1)
      var str = $(this).text()
      $('#wrap').text(str)
    })
    
    //等同于
    $('.box>ul>li').click(function(){
        console.log(2)
      var str = $(this).text()
      $('#wrap').text(str)
    })
    
    //也可以这样写
    $('.box li').on('click.hello', function(){
        console.log(3)
      var str = $(this).text()
      $('#wrap').text(str)
    })
    //命名空间没什么特别的作用,只不过在解绑事件时便于区分绑定的事件
    $('.box li').off('click.hello')
    
    //可是用如下方法新增的元素是没绑定事件的
    $('#btn').on('click', function(){
      var value = $('#ipt').val()
      $('.box>ul').append('<li>'+value+'</li>')
    })
    
    //我们可以用事件代理
    $('.box ul').on('click', 'li', function(){
      var str = $(this).text()
      $('#wrap').text(str)
    })
    
    //上面代码相当于原生 js 的
    document.querySelector('.box ul').addEventListener('click', function(e){
        if(e.target.tagName.toLowerCase() === 'li'){
            //do something
        }
    })
    
    //绑定事件的时候我们也可以给事件附带些数据,只不过这种用法很少见
    $('.box').on('click', {name: 'hunger'}, function(e){
        console.log(e.data)
    })
    

    Ajax

    $.ajax({
        url: 'xxx.php',
        method: 'GET',
        data: {
            name: 'Byron',
            age: 24,
            sex: 'Male'
        }
    }).done(function(result){
    
        console.log(result);
    
    }).fail(function(jqXHR, textStatus){
    
        consloe.log(textStatus);
    
    });
    

    这两个方法专门用来处理get和post请求

    $.ajax({
      url: url,
      data: data,
      success: success,
      dataType: dataType
    });
    
    $.ajax({
      type: "POST",
      url: url,
      data: data,
      success: success,
      dataType: dataType
    });
    

    dataType:从服务器返回的预期的数据类型。默认:智能猜测(xml, json, script, 或 html)

    jquery实现jsonp的方法

    function getBooks(){
        $.ajax({
            type:'get',
            url:'http://test.com/bookservice.php',
            dataType:'jsonp',
            jsonp:'callback',
            jsonpCallback:'displayBooks'
        });
    }
    
    • 当然使用jsonp会在一定程度上造成安全性问题,如果请求的站点不是信任站点,那么可能会在返回的方法调用中包含一些恶意代码。所以尽量向信任的站点发送请求。另外xss也经常会利用jsonp向站点注入恶意代码。

    相关文章

      网友评论

        本文标题:Jquery知识点回顾

        本文链接:https://www.haomeiwen.com/subject/igbpyftx.html