jquery网络请求和插件

news/2024/7/10 22:35:36 标签: jquery, 网络, ajax
# 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"//显示的属性,弹性盒子还是块化
})


http://www.niftyadmin.cn/n/1146216.html

相关文章

开源应用逐渐成为企业主流

研究表明&#xff0c;企业对开源应用的认可程度正在不断提高&#xff0c;尤其是在操作系统、基础架构应用和开发工具方面。著名IT网站CIO.com对328名IT与商业管理人员进行了一次调研(其中IT经理人占59%&#xff0c;商业经理人占13%&#xff0c;IT专业人员占20%&#xff0c;商业…

【EA】EA链接到服务器,项目人员协作开发

一、目的 Enterprise Architect最初是UML建模的CASE工具&#xff0c;但经过多年的发展&#xff0c;现已经成为了贯穿整个软件开发工程生命周期的强大管理软件。EA还可以有另一种针对团队协作的“服务器模式”&#xff0c;让项目人员进行协作。 二、环境要求 操作系统要求&…

node简介

# node- [node官网](https://nodejs.org/en/) - [node中文网](http://nodejs.cn/) - 什么是 node- Node.js is a JavaScript runtime built on [Chromes V8 JavaScript engine](https://v8.dev/).- Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 - 这个是 node 官…

中华英才网或被全盘收购:三年对赌将近大限

随着企业对资金需求的上升&#xff0c;“对赌协议”这个舶来品迅速在国内流行起来&#xff0c;不过早在2005年就与投资者对赌在“三年内上市成功”的中华英才网或许不能如愿&#xff0c;它最可能的结局是被全球最大的招聘服务提供商Monster全盘收购。Monster已经持有中华英才网…

【英语】1月英语的回忆

一、这全都是回忆 由于1月份的时候请假回家了&#xff0c;就没有及时写1月的英语博客&#xff0c;其实善良的博委们也不会差出来的&#xff0c;这个就是小编的一月英语博客&#xff0c;就是回忆篇。火影还回忆呢&#xff01;为啥不让小编回忆&#xff01;&#xff01; 二、那个…

Sass用法

# SASS- [SASS官网](https://www.sass.hk/)- ### 世界上最成熟、最稳定、最强大的专业级CSS扩展语言&#xff01;- sass 是一个 css 的预编译工具- 也就是能够 **更优雅** 的书写 css- sass 写出来的东西 **浏览器不认识**- 依旧是要转换成 css 在浏览器中运行- 这个时候就需要…

【英语】二月份,我说重生,你说是!

一、接一月 其实一月份过完了&#xff0c;马上就到了二月份&#xff0c;二月份冬天过去了&#xff0c;马上就暖和了&#xff0c;学习英语的热情也上涨了不少。小编又开始整编了一下队伍&#xff0c;大家学习的热情也不断的上涨了&#xff0c;这个还是不错的。 二、AJ又来袭 经…

requires模块化与es6模块化

# 前端模块化 ##### 前言随着Ajax技术的兴起&#xff0c;前后端分离的开发模式逐渐占领了几乎整个市场&#xff0c;现在的服务器带宽也足够完成大量数据交互&#xff0c;于是很多以前在服务器端的逻辑也可以移植到前端来处理了&#xff0c;从而减轻服务器的压力&#xff0c;当然…