jQuery之AJAX的知识点总结

这次小编给大家整理了jQuery之AJAX的知识点,下面就是知识点汇总,一起来看一下。

一.AJAX概念
Asynchronous Javascript And XML(异步JavaScript和XML)
AJAX并不是一种语言,而是一种创建交互网页应用的网页开发技术
AJAX是Javascript、XHTML和CSS、DOM、XML和XSTL、XMLHttpRequest 等技术的组合
1.使用XHTML+CSS来标准化呈现;
2.使用XML和XSLT进行数据交换及相关操作;
3.使用XMLHttpRequest对象与Web服务器进行异步数据通信;
4.使用Javascript操作Document Object Model(网络文档对象模型)进行动态显示及交互;
5.使用JavaScript绑定和处理所有数据
什么是 XML?
XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准
什么是 XSLT?
XSLT 指 XSL 转换(XSL Transformations)[1]
XSLT 是 XSL 中最重要的部分
XSLT 可将一种 XML 文档转换为另外一种 XML 文档
XSLT 使用 XPath 在 XML 文档中进行导航
XSLT 是一个 W3C 标准

AJAX核心对象是XMLHttpRequest

二.AJAX工作原理
用户操作流程:
用户浏览器->JavaScript实例化XmlHttpRequest对象->AJAX引擎->http请求->web服务器->后台业务系统
系统返回流程:
后台业务系统->后台服务器->web服务器->HTML,XML,JSON数据->AJAX引擎->HTML+CSS(Wel浏览器)->用户浏览器

三.AJAX优缺点:
AJAX异步处理优点:
减轻服务器的负担,AJAX一般只从服务器获取只需要的数据
无刷新页面更新,减少用户等待的时间
更好的客户体验,可以将一些服务器的工作转移到客户端来完成,节约网络资源,提高用户体验
无平台限制
促进显示与数据想分离
AJAX异步处理的缺点:
页面中存在大量JS,给搜索引擎带来困难
AJAX干掉了Back和History功能,即对浏览器机制的破坏
存在跨域问题
只能传输及接收utf-8编码数据

1.AJAX实现步骤

window.open(URL,name,features,replace)
URL:一个可选的字符串,声明了要在新窗口中显示的文档的 URL。如果省略了这个参数
或者它的值是空字符串,那么新窗口就不会显示任何文档
name:一个可选的字符串,该字符串是一个由逗号分隔的特征列表,其中包括数字、字母和下划线,
该字符声明了新窗口的名称。这个名称可以用作标记 和

  if (window.XMLHttpRequest) {// Mozilla, Safari, ...var http_request = new XMLHttpRequest();} else if (window.ActiveXObject) { // IE 5 ,6var http_request = new ActiveXObject("Microsoft.XMLHTTP");}

登录后复制

XMLHttpRequest发出HTTP请求

http_request.open("GET|POST","test.php?GET方式传值",true);          http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //仅POST请求时需要设置         //用于向一个已经连接的socket发送数据         //如果是POST传输方式要把值写在send()函数里          http_request.send(向一个已连接的套接口发送数据);      XMLHttpRequest取得响应数据并显示       http_request.onreadystatechange=function(){if(http_request.readyState==4  && http_request.status==200){                    $("p").text(http_request.responseText)         }      }

登录后复制

例:
//GET方式
参数1:代表是以get还是post方式发送请求  参数2:发送请求给哪个url  参数3:true代表异步请求,false代表同步请求

http_request.open("GET","test.php?user_name="+username.val(),true);http_request.send();

登录后复制

发送POST请求

var username=$("input[name='user_name']");

登录后复制

参数1:代表是以get还是post方式发送请求  参数2:发送请求给哪个url  参数3:true代表异步请求,false代表同步请求

http_request.open("POST","test.php",true);http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

登录后复制

如果是POST传输方式要把值写在send()函数里

http_request.send({username:username});

登录后复制

四.JSON
Javascript Object Notation,是一种轻量级的数据交换格式
JSON每种语言都认识他所以用他进行各种语言的数据的转换
JSON支持多种语言
格式
{key:value,key:value,…..}  对象格式
[{key:value,key:value,…..},{key:value,key:value,…..},……]  数组格式
PHP处理:
$json=json_encode($array) //对变量进行Json编码
$array=json_decode($json) //对Json数据进行解码转换成PHP变量
JavaScript处理:
eval(‘(‘+json+’)’)  //将某个字符串按照JS代码来执行
例:

eval("x=10;y=20;document.write(x*y)")document.write(eval("2+2"))JSON.parse(json) //对传过来的json字符串进行解码,变成JS认识的对象JSON.stringify(obj) //将JS中的值编译成json字符串

登录后复制

五.jQuery中AJAX应用1
.不要忘写

$.ajax({            //你要传的php文件的路径            url:"test1.php",    ('服务器url地址')            //以get方式传输拼接字符串            data:"user_name="+$('input[name="user_name"]').val(),('名=值&名=值&.....',)            //以什么方式传输            type:'get',('post|get')            //传输返回的数据类型            dataType:'json',  ('xml|html|text|json|script')            //展示 数据的方式            success:function(res){                $('h1').text('用户名为:'+res.user_name);            },                //错误信息                error:function(xhr){                },              timeout:2000,              async:true,              cache:false})

登录后复制

六.jQuery中AJAX应用2

$.get()$.get('服务器url地址',"json格式或字符串格式",function(res){        //处理返回的数据}), "xml|html|json|text|script")

登录后复制

例:

            //'服务器url地址',"json格式或字符串格式"        $.get("test1.php",{user_name:$("input[name='user_name']").val()},function(data){               //如果后台发过来的值跟这里的值相等让他执行下面代码                if(data.status=='ok'){                    alert("登陆成功");                    location.href="http://www.wl.com";                }else{                    alert("登陆失败");                }        //"xml|html|json|text|script"类型        },'json')

登录后复制

七.jQuery中AJAX应用3
serialize() 序列表表格内容为字符串,串行化数据 用于 Ajax 请求

$.post()$.post('服务器url地址',"json格式或字符串格式",function(res){        //处理返回的数据}), "xml|html|json|text|script")

登录后复制

例:

//'服务器url地址',"json格式或字符串格式" 用post方式提交要用form表单包起来        // 然后用serialize()来拿里面所有有值        $.post("test1.php",$('form').serialize(),function(res){            //如果后台发过来的值跟这里的值相等让他执行下面代码            if(res.status=='ok'){                alert("登陆成功");                location.href="http://www.wl.com";            }else{                alert("登陆失败");            }            //"xml|html|json|text|script"类型        },'json')

登录后复制

php中接收处理输出

try{    $pdo=new PDO("mysql:host=127.0.0.1;port=3306;dbname=数据库名",'数据库账号','数据库密码');    $pdo->exec("set names utf8");    $sen=$pdo->query("select * from yh_admin where user_name='{$user_name}' limit 1");    if($sen->rowCount()>0){       // $arr=$sen->fetch(PDO::FETCH_ASSOC);        //echo json_encode($arr);        //echo 'yes';       $arr['status']='ok';    }else{        echo 'no';    }    //切记用json数据类型传输    echo json_encode($arr);}catch (PDOException $e){    echo $e->getMessage();}

登录后复制

以上就是jQuery之AJAX的知识点总结的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2779417.html

(0)
上一篇 2025年3月8日 15:47:08
下一篇 2025年3月8日 15:47:16

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何解决jQuery和其他库的冲突问题

    在jQuery库中,几乎所有的插件都被限制在它的命名空间里。通常,全局对象都被很好地储存在jQuery的命名空间里,所以当把jQuery库和其他js库(Prototype,MooTools或YUI)一起使用时,不会引起冲突。 注意:默认情况…

    编程技术 2025年3月8日
    000
  • jQuery实现Ajax验证用户名是否可用

    本文主要和大家详细介绍了基于jquery实现ajax验证用户名是否可用实例,具有一定的参考价值,希望能帮助到大家。 HTML nbsp;html>Insert title here //页面加载完成后 $(function() { /…

    编程技术 2025年3月8日
    200
  • 字符串如何转换成jquery对象

    这次给大家详解字符串如何转换成jquery对象,字符串如何转换成jquery对象的注意事项有哪些,下面就是实战案例,一起来看一下。 jQuery(test)[0].outerHTMLouterHTML是部分浏览器提供的原生DOM属性,可返回…

    编程技术 2025年3月8日
    200
  • js基础知识点总结分享

    本文主要和大家分享js基础知识点总结,希望能帮助到大家。 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避免…

    编程技术 2025年3月8日
    200
  • JS和JQuery对操作DOM的方法

    本文主要和大家分享JS和JQuery对操作DOM的方法,主要以代码的方法,希望能帮助到大家。 查询节点: js:1.根据id查询;2.根据标签名查询;3.根据name查询;4.根据层次查询;详情如下: //1.根据ID查询节点var ul …

    编程技术 2025年3月8日
    200
  • jQuery自定义换肤及菜单

    本文主要和大家分享jQuery自定义换肤及菜单,主要以代码的形式体现我们先来看一下效果,希望能帮助到大家。 结合右击显示菜单来做的 效果图: 代码: [html] view plain copynbsp;html>          …

    2025年3月8日
    200
  • JQuery如何选中select组件内指定的值

    这次给大家带来JQuery如何选中select组件内指定的值,JQuery选中select组件内指定的值的注意事项有哪些,下面就是实战案例,一起来看一下。 jquery获取select选择的文本与值 获取select : 获取select …

    编程技术 2025年3月8日
    200
  • jQuery开发实例详解

    jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做…

    编程技术 2025年3月8日
    200
  • 关于Jquery的Ajax异同步的问题探讨

    本文主要为大家分享一篇关于Jquery的Ajax异同步的问题探讨,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。 1. $.get(url, [data], [callback], [type]); 只能是异步 2. $.…

    2025年3月8日
    200
  • jquery插件ocupload一键上传的方法

    本文主要为大家分享一篇jquery插件ocupload一键上传的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。 jquery ocupload(one-click upload)的使用: 登录后复制 jquery o…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论