Jquery 中封装的Ajax和封装函数serializeObject和nprogress 进度条插件

Jquery 中的Ajax

1.$.ajax基本使用

 <button id="btn">发送请求</button>
    <script src="/js/jquery.min.js"></script>
    <script>
        $('#btn').on('click',function(){
            //调用这个方法时需要传递一个参数 (对象),这个对象的作用配置ajax
            $.ajax({
                //1.请求方式
                type:'post',
                //http://localhost:3000可以省略,自动补全
                url:'/base',
                //请求成功以后函数被调用
                success:function(response){
                    //response为服务器端返回的数据
                    //方法内部回自动调用json字符串转换为json对象
                    console.log(response);
                },
                //请求失败以后函数调用    参数是ajax对象,里边很多信息
                error:function(xhr){
                    console.log(xhr)
                }
            })
        })
    
    </script>

2.$.ajax传递请求参数

<button id="btn">发送请求</button>
    <script src="/js/jquery.min.js"></script>
    <script>
        var params = {name:'xiaoming',age:300};
        $('#btn').on('click',function(){
            $.ajax({
                //请求方式
                type:'get',
                //请求地址
                url:'/user',
                //向服务器端发送的请求参数
                // // 内部会转换为字符串    name=zhangsan&age=290
                // data:{
                //     name:'zhangsan',
                //     age:290
                // },
                //第二种方法
                // data:'name=zhangsan&age=290',
                // 把上边定义的params对象转换为json字符串
                data:JSON.stringify(params),
                // 指定参数格式类型
                //如果参数格式为json格式,那么data里边传递json类型参数
                contentType:'application/json',
                
                //请求发送之前被调用
                beforeSend:function(){
                    alert('请求即将发送');
                    //请求不会被发送
                    return false;
                },

                //请求成功以后函数被调用
                success:function(response){
                    //response为服务器端返回的数据
                    //方法内部会自动将json字符串转换为json对象
                    console.log(response);
                }
            })
        })
    
    </script>

3.封装函数serializeObject

 //  将表单中用户输入的内容转换为对象类型
        function serializeObject(obj) {
            //处理结果对象
            var result = {};
            // serializeArray会将表单用户输入的内容转换为数组
            // [{name:'username',value='用户输入的内容'},{name='password',value="123456"}]
            var params = obj.serializeArray();
            //循环数组  将数组转化为对象类型
            $.each(params, function (index, value) {
                result[value.name] = value.value;
            })
            //将处理结果返回到函数外部
            return result;
        }

4.发送jsonp请求

		$.ajax({
                url:'/jsonp',
                //向服务器端传递函数名字的参数名称
                jsonp:'cb',
                //不想调用success成功后的函数,自己传入一个函数,在外边声明函数
                jsonpCallback:'fn',

                //代表现在要发送的是jsonp请求
                dataType:'jsonp',
                // success:function(response){
                //     console.log(response);
                // }
            })

5.单独发送get或post请求

			 $.get('/base', 'name=zhangsan&age=30', function (response) {
			 	console.log(response)
			 })
			
			$.post('/base','name=zhangsan&age=30', function (response) {
				console.log(response)
			})

6.全局事件

只要页面中有Ajax请求被发送,对应的全局事件就会被触发

.ajaxStart()     // 当请求开始发送时触发
.ajaxComplete()  // 当请求完成时触发
nprogress 进度条插件
<link rel='stylesheet' href='nprogress.css'/>
<script src='nprogress.js'></script>

NProgress.start();  // 进度条开始运动 
NProgress.done();   // 进度条结束运动

RESTful 风格的API

RESTful API 概述

一套关于设计请求的规范。

GETPOSTPUTDELETE
获取数据添加数据更新数据删除数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值