博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用jQuery实现Ajax
阅读量:5905 次
发布时间:2019-06-19

本文共 2846 字,大约阅读时间需要 9 分钟。

前置知识:ajax原理,json字符串进行信息传递。

  • Ajax主要的功能是实现了浏览器端 异步 访问服务器:通过浏览器的XMLHttpRequest对象发出小部分数据,与服务端进行交互,

服务端返回小部分数据,然后更新客户端的部分页面。

  • json是Ajax发送小部分数据的一种轻量级数据格式,可以简单易懂的给服务器或者浏览器交互数据,包括json对象,json数组对象。

一、jquery.ajax()

jquery 库中已经封装了ajax请求的方法。

jquery.ajax([settings])。发请求并且能得知成功还是失败。

  • type:类型,"POST"或者"GET",默认是"GET"。

  • url:发送请求的地址。

  • data:是一个对象,连同请求发送到服务器的数据

  • dataType:预期服务器返回的数据类型。如果不指定,jQuery将自动根据HTTP包含的MIME信息来智能判断,一般我们采用json个数,可以设置为"json"。

  • success:是一个方法,请求成功后的回调函数。传入返回后的数据,以及包含成功代码的字符串。

  • error:是一个方法、请求失败时调用此函数。传入XMLHttpRequest对象。

jquery初始化。

$(document).ready(function(){

});

error方法中第一个参数是jqXHR,可以通过jqXHR获取status。

二、jquery GET请求

复制代码

$(document).ready(function(){    $("#searchBtn").click(function(){        $.ajax({            type:"GET",            url:" https://api.passport.xxx.com/checkNickname?username="+mylogin.username+"&token="+mylogin.token+"&nickname="+nickname+"&format=jsonp&cb=?",            dataType:"json",            success:function(data){                if(data.errorCode==0){                                         $("#nickname").val(mylogin.nickname);                                                              }else{                                         $("#nickname").val("用户");                                                          }            },            error:function(jqXHR){                console.log("Error: "+jqXHR.status);            }        });    });});

复制代码

 

三、POST请求

复制代码

function dologin(qrid,username,token){    $.ajax({        url:"http://api.passport.pptv.com/v3/login/qrcode.do",        type:"post",        dataType:"jsonp",        data:{from:"clt",qrid:qrid,username:username,token:token},        success:function(data){             try {                    var p = external.GetObject('@xxx.com/passport;1');                    p.On3rdLogin2(0,0,data,true);                } catch (e) {                    return false;                }                setTimeout(function () {                    try {                        var wb = external.Get('Signin2Window');                        wb.OnClose();                    } catch (e) {                    }                }, 200);        }    });}

复制代码

POST请求,不需要去拼url字符串了,只需要指定data,ajax在传递的时候就会自动把它拼成url。

Content-Type是ajax为我们自动加上去的。

Form Data在设置的时候,是用JSON对象的一个方式设置的。

但实际上在传递的时候,jquery已经为我们拼成了url的格式,而且进行了一些转码。

 

 

POST代码demo:

复制代码

$.ajax({    type:"POST",    url:"service.php",    dataType:"json",    data{        name:$("#staffName").val(),        number:$("#staffNumber").val(),        sex:$("#staffSex").val(),        job:$("#staffJob").val(),    },    success:function(data){        if(data.success){            $("#createResult").html(data.msg);        }else{            $("#createResult").html("出现错误"+data.msg);        }    },    error:function(jqXHR){        console.log("发生错误:"+jqXHR.status);    }});

复制代码

本文转自帅气的头头博客51CTO博客,原文链接http://blog.51cto.com/12902932/1926152如需转载请自行联系原作者
sshpp
你可能感兴趣的文章
IE6下position:fixed不支持问题及其解决方式
查看>>
iOS Animation具体解释
查看>>
Selenium:集成测试报告
查看>>
<html>
查看>>
关于虚析构函数的作用和使用
查看>>
[Angular] Custom directive Form validator
查看>>
密码子优化--转载
查看>>
英特尔 QSV 在 FFMPEG 中的使用(Windows)
查看>>
深入理解计算机系统(2.2)------进制间的转换原理
查看>>
Linux下 网卡测速
查看>>
改善C#程序的建议5:引用类型赋值为null与加速垃圾回收
查看>>
invalidate()和postInvalidate() 的区别及使用
查看>>
docker启动Mysql(转)
查看>>
第16章 使用Squid部署代理缓存服务
查看>>
debian下samba配置
查看>>
新建的linux虚拟机找不到eth0解决办法
查看>>
ECS应用管理最佳实践
查看>>
学习 ET(1)- 开源的游戏客户端(基于 unity3d)服务端双端框架
查看>>
【跃迁之路】【610天】程序员高效学习方法论探索系列(实验阶段367-2018.10.14)...
查看>>
写一份好的产品说明书
查看>>