jquery网络请求和插件

这篇博客介绍了jQuery如何进行网络请求,包括POST、AJAX和JSONP请求,并探讨了jQuery的多库共存策略,以及如何解决命名冲突问题。此外,还提到了两个实用的jQuery插件:jQuery Cookie和分页插件,提供了相应的使用资源链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# jQuery

- 今天我们继续来聊 `jQuery`

## 发送 ajax 请求

- 发送 get 请求

  ```js
  // 直接使用 $.get 方法来发送一个请求
  /*
  	参数一: 请求地址
  	参数二: 请求时携带的参数
  	参数三: 请求成功的回调
  	参数四: 返回的数据类型
  */
  $.get('./ajax.php', { id: 10 }, function (res) { console.log(res) }, 'json')
  • 发送 post 请求

    // 直接使用 $.post 方法来发送一个请求
    /*
    	参数一: 请求地址
    	参数二: 请求时携带的参数
    	参数三: 请求成功的回调
    	参数四: 返回的数据类型
    */
    $.post('./ajax.php', { id: 10 }, function (res) { console.log(res) }, 'json')
    
  • 综合发送 ajax 请求

    // 使用 $.ajax 方法
    // 只接受一个参数,是一个对象,这个对象对当前的请求进行所有的配置
    $.ajax({
        url: './ajax',   // 必填,请求的地址
        type: 'GET',   // 选填,请求方式,默认是 GET(忽略大小写)
        data: {},   // 选填,发送请求是携带的参数
        dataType: 'json',   // 选填,期望返回值的数据类型,默认是 string
        async: true,   // 选填,是否异步,默认是 true
        success () {},   // 选填,成功的回调函数
        error () {},   // 选填,失败的回调函数
        cache: true,   // 选填,是否缓存,默认是 true
    })
    
  • 发送一个 jsonp 请求

    // 使用 $.ajax 方法也可以发送 jsonp 请求
    // 只不过 dataType 要写成 jsonp
    $.ajax({
        url: './jsonp.php',
        dataType: 'jsonp',
        data: { name: 'Jack', age: 18 },
        success (res) {
            console.log(res)
        },
        jsonp: 'cb',  // jsonp 请求的时候回调函数的 key
        jsonpCallback: 'fn'   // jsonp 请求的时候回调函数的名称
    })
    

jQuery 的多库共存

  • 我们一直在使用 jQuery,都没有什么问题

  • 但是如果有一天,我们需要引入一个别的插件或者库的时候

  • 人家也向外暴露的是 ``获取 jQuery

  • 那么,我们的 jQuery 就不能用了

  • 那么这个时候,jQuery 为我们提供了一个多库并存的方法

    // 这个方法可以交还 jQuery 命名的控制权
    jQuery.noConflict()
    
    // 上面代码执行完毕以后 $ 这个变量就不能用了
    // 但是 jQuery 可以使用
    console.log($) // undefined
    console.log(jQuery) // 可以使用
    
  • 完全交出控制权

    // 这个方法可以交并且传递一个 true 的时候,会完全交出控制权
    jQuery.noConflict(true)
    
    // 上面代码执行完毕以后 $ 这个变量就不能用了
    // jQuery 这个变量也不能用了
    console.log($) // undefined
    console.log(jQuery) // undefined
    
  • 更换控制权

    // 可以用一个变量来接受返回值,这个变量就是新的控制权
    var aa = jQuery.noConflict(true)
    
    // 接下来就可以把 aa 当作 jQuery 向外暴露的接口使用了
    aa('div').click(function () { console.log('我被点击了') })
    

JQuery 的插件

  • jQuery 给咱们提供很多有意思的插件

jQuery Cookie 插件

传送门

Jquery分页插件

传送门

html结构:

<!--自己写的结构-->
<div class='container'>
	<ul class="paging_list">
        <!--要渲染的样式-->
     	<!--<li class="li-item">
            <a href="html/details.html?id=${item.goods_id}">
                <div class="pic">
                    <img src="${item.img_small_logo}">
                        </div>
            <p class="title">${item.title}</p>
            <p class="price">${item.price}</p>
            </a>
			<button data-id="${item.goods_id}" id="b">加入购物车</button>
         </li>-->

     </ul>
</div>

<!--分页结构-->
<div class="paging_content">
    <div class="paging_first">首页</div>
    <div class="paging_up">上一个</div>
    <div class="paging_btn"></div>
    <div class="paging_down">下一个</div>
    <div class="paging_last" id="">尾页</div>
</div>

css样式:

<style>
	* {
        margin: 0;
        padding: 0;
    }

    body {
        background-color: #e5e5e5;
    }
    a{
        text-decoration: none;
        color: black;
    }
    ul {
        width: 1200px;
        min-height: 300px;
        margin: 20px auto;
    }

    ul li {
        list-style: none;
        width: 236px;
        height: 304px;
        background-color: #fff;
        float: left;
        margin: 20px;
        position: relative;
    }

    ul li .pic {
        height: 180px;
        position: relative;
        padding: 0 10px;
    }

    ul li .pic img {
        width: 160px;
        height: 160px;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    ul li p {
        font-size: 14px;
        text-align: center;
        line-height: 26px;
    }

    ul li p.price {
        color: #ff6700;
    }

    ul li #b {
        display: block !important;
        margin: 10px auto;
        width: 100px;
        height: 25px;
        position: absolute;
        bottom: 5px;
        left: 50%;
        margin-left: -50px;
    }
    .title{
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
</style>

/*分页插件样式*/
<style>
.paging_content .paging_btn {
    display: flex;
    justify-content: space-around;
}

.paging_btn span:hover {
    background-color: #b6b6b6;
    color: #fff;
}

.paging_active {
    background-color: #b6b6b6;
    color: #fff;
}

.paging_btn span {
    width: 40px;
    height: 40px;
    color: #333;
    line-height: 40px;
    text-align: center;
    cursor: pointer;
    transition: .5s;
    border:1px solid #ccc;
    border-right: 0;
}
.paging_btn span:nth-last-child{
    border:1px solid #ccc;
}
.paging_content {
    display: flex;
    justify-content: center;
    margin-top: 50px;
    position: relative;
    width: 1000px;
    background-color: #e5e5e5;
    margin: 20px auto;
}

.paging_first,
.paging_last,
.paging_up,
.paging_down {
    width: 60px;
    height: 40px;
    line-height: 40px;
    color: #333;
    border:1px solid #ccc;
    cursor: pointer;
    text-align: center;
    border-right: 0;
}
.paging_last{
    border:1px solid #ccc;
    margin-right: 10px;
}
.paging_first:hover,
.paging_last:hover,
.paging_up:hover,
.paging_down:hover {
    background-color: #b6b6b6;
    color: #fff;
}
.paging_Btn p{
    color: red;
}
.paging_textBox{
    margin-right: 10px;
    color: #585858;
    font-size: 18px;
}
.paging_textBox input{
    margin: 0 2px;
    width: 50px;
    height: 38px;
    border:1px solid #ccc;
    outline: none;
}
.paging_textBox>button{
    width: 50px;
    height: 38px;
    cursor: pointer;
    color: #333;
    border:1px solid #ccc;
    transition: .5s;
    margin-left: 10px;
    outline: none;
}
.paging_textBox>button:hover{
    background: #b6b6b6;
}
.paging_max{
    padding: 0 10px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    color: #8b8b8b;
}

/* 注意!! 这个两个样式是一些效果必备的! */
.paging_none{
    display: none !important;
}
.paging_btn_none_block{
    display: block !important;
}
</style>

js逻辑:

$(".paging_list").paging({
    PageNum: 10, //每页显示数目
    pageMax: true, //按钮长度是否显示
    pageMaxHideShow: false, //在最后一个的时候是否隐藏按钮长度
    pageDownUpHide: false, //到第一个或最后一个是否让上一页或下一页消失
    pageInput: true, //是否使用文本框输入跳转
    pagingBtnHide: false, //是否让按钮变为一个
    pagingBtnPaging: true,//按钮是否分页
    pagingDisplay: "flex"//显示的属性,弹性盒子还是块化
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值