Jquery中的Ajax 的完整请求过程

ajax 完整的请求过程,分为5个步骤:

1、建立xmlHttpRequest对象
2、设置回调函数
3、使用OPEN方法与服务器建立连接 xmlHttp.open(“get”,“ajax?name=”+ name,true)
4、向服务器端发送数据
5、在回调函数中针对不同的响应状态进行处理

jq的ajax完整的请求过程:

$(function() {
    $.showLoading('获取个人信息中...'); //显示加载框
   
    //开始获取个人信息
    $.ajax({
        type: 'POST',     //请求方法
        url: domainServer + '/user/getUserInfo',       //请求地址
        data: {       //给后台
            id: id,
            name: name     
        },
        contentType: "application/x-www-form-urlencoded; charset=UTF-8", // contentType 用来设置你发送给服务器的格式,也就是指定data的类型,默认是json,默认值为"application/x-www-form-urlencoded; charset=UTF-8",可不写
        dataType: 'json', // dataType设置你收到服务器数据的格式
        // async: false, //async默认的设置值为true,是异步,就是当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,异步请求不能将返回值传给全局变量;asyn设为false时,这时ajax的请求时同步的,同步是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。
        success: function(res) {
            // console.log(res)     //打印
            var arr = res[0]
            $(".my-info .my-img-wrap .my-img").html('<img src="' + arr.profile_picture + '">') //渲染用户的头像
            $(".my-head-name").text(arr.name) //渲染用户的昵称
            $.hideLoading(); //隐藏加载框
        },
        error: function(res) {
            $.hideLoading(); //隐藏加载框
            $.toast('抱歉,获取个人信息出错了');
        }
    })
})

遇到的其他一部分问题:

JSON 的常规用途是同 web 服务器进行数据交换。json格式转换问题:

在向 web 服务器发送数据时,数据必须是字符串;在从 web 服务器接收数据时,数据永远是字符串。
发送数据时,通过 JSON.stringify(object) 把 JavaScript 对象转换为字符串。
接收数据时,通过 JSON.parse() 解析数据,这些数据会成为 JavaScript 对象。

Ajax优缺点

优点:
1、异步请求,不妨碍用户浏览页面或者其他操作。
2、局部刷新,无需重新刷新页面。
3、界面与应用分离。有利于分工合作、减少非技术人员对页面的修改造成的WEB应用程序错误、提高效率、也更加适用于现在的发布系统。
4、基于标准被广泛支持。
5、前端和后端负载平衡。最大程度的减少冗余请求和响应对服务器造成的负担,提升站点性能。

缺点:
1、back和History,对浏览器机制的破坏。
2、安全问题。易受到黑客攻击。
3、对搜索引擎支持较弱。
4、不能很好支持移动设备。
5、违背URL和资源定位的初衷。

这儿有个详细介绍的地址

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值