ajax提供了异步访问服务器的方法,使页面无须刷新就可以更改页面内容,在实际情况中使用原生的情况较少但是原理需要掌握,一般都是使用jquey更轻量级的实现ajax但是原理是共同的。

    原生ajax使用过程:

1.创建ajax核心对象

IE浏览器核心对象为XMLHTTP,其他浏览器核心对象为XMLHTTPRequest,因此为了解决不同浏览器的兼容问题需要对浏览器核心对象进行判断

var xmlhttp;

if(window.XMLHTTP){

xmlhttp=new XMLHTTPRequest();

}else{

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");//ie6以下版本

}

2.创建请求

        open()中有三个参数,第一个参数是请求方式,有两种get和post,两者区别在于get更快更便捷,在以下几种情况必须用post方式

(1)向服务器发送大量数据的时候;

(2)发送包含未知字符输入的时候,比如表单中的提交信息是由用户所撰写的

(3)无法使用缓存文件的时候

第二个参数是后端文件的地址,第三个参数是否异步,只有为true时才可异步,开启信息传送

         xmlhttp.open("get","example.php",true);

3.发送请求参数

不同的页面需求不同,需要获取不同的数据需要依靠请求参数实现,多个请求参数之间以&连接

xmlhttp.send("user="+user&"password="+password);

只有post请求的参数才能够放在send中,如果是get请求的方式,参数不允许放在send()中,而是要放在后端数据文件地址后面以?连接,并且还要在中间加上请求头

xmlhttp.open("get","example.php?user="+user+"&password="+password",true);

xmlhttp.setRequestHeader("content-Type","application/x-www-form-urlencoded");

xmlhttp.send(null);

4.接受响应

       

页面有五种请求状态readyState,0:尚未初始化  1:正在发送请求  2:请求完成  3:接受响应  4:响应完毕

服务器返回状态status  404:找不到页面  200:响应成功  500:内部服务器错误

xmlhttp.onreadystatechange=functino(){

if(xmlhttp.readyState==4 && xmlhttp.status==200){

var date = xmlhttp.responseText   //使用文本格式拿数据,也有其他方式获取数据请自便

}

}

jquery ajax使用过程:

1.post请求方式

$.ajax({

type:'POST',            //请求方式
           url:'example.php',        //发送请求的地址
           dataType:'json',         //服务器返回的数据类型
           data:{name:xxx,age:xxx},    //发送到服务器的数据,对象必须为key/value的格式,jquery会自动转换为字符串格式
           success:function(data){
                                  //请求成功,返回内容
           },
           error:function(jqXHR){
             //请求失败,返回内容
          }
        });


         
  2.get请求方式      

$.ajax({
            type:'GET',           
            url:'example.php?name'+=xxx,  //发送请求的地址以及传输的数据
            dataType:'json',         //服务器返回的数据类型
            success:function(data){
             //请求成功,返回内容
            },
            error:function(jqXHR){
             //请求失败,返回内容
            }
          });

JavaScript之原生ajax && jQuery之ajax的更多相关文章

  1. JS原生Ajax&Jquery的Ajax技术&Json

    1.介绍Ajax Ajax = 异步 JavaScript 和 XML Ajax是一种创建快速动态网页的技术 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可以不用整个 ...

  2. 原生和jQuery的ajax用法

    jQuery的ajax方法: $.ajax({ url:'/comm/test1.php', type:'POST', //GET async:true, //或false,是否异步 data:{ n ...

  3. Ajax 原生和jQuery的ajax用法

    https://www.cnblogs.com/jach/p/5709175.html form数据的序列化: $('#submit').click(function(){ $('#form').se ...

  4. 原生和jquery 的 ajax

    form数据的序列化: $('#submit').click(function(){ $('#form').serialize(); //会根据input里面的name,把数据序列化成字符串:eg:n ...

  5. 前端 - js方式Ajax/ jquery方式Ajax / 伪 ajax /伪ajax 进阶方式

    DJANGO环境搭建: 目录文件: 关闭CSRF 添加目录文件路径 配置url 视图配置: index页面配置: 测试:(成功) 进入正题: ajax 通过GET提交数据至后台: <!DOCTY ...

  6. Jquery调用ajax,出现一直跳转到error问题

    今天做项目的时候,遇到ajax请求,一直都是跳转到了error部分,一直没有进入success部分 后来查了一下网上的资料,有两三种说法, 一种是将dataType :'json',改成你相应的版本, ...

  7. 锋利jQuery 学习整理之 第六章 jQuery 与Ajax 的应用

    1.Ajax 的XMLHttpRequest 对象 XMLHttpRequest 是Ajax 的核心,它是Ajax 实现的关键---发送异步请求.接受响应及执行回调都是通过它来完成的.XMLHttpR ...

  8. jQuery 与 Ajax 的应用

    Ajax 全称为 "Asynchronous JavaScript and XML"(异步 JavaScript 和 XML ),它并不是指一种单一的技术,而是有机地利用了一系列交 ...

  9. 第6章 jQuery与Ajax的应用

    6.1 Ajax的优势和不足 6.1.1 Ajax的优势 1.不需要插件支持 2.优秀的用户体验 3.提高Web程序的性能 Ajax模式只是通过XMLHttpRequest对象向服务器端提交希望提交的 ...

  10. 根据JavaScript中原生的XMLHttpRequest实现jQuery的Ajax

    基本介绍 XmlHttpRequest XmlHttpRequest是JavaScript中原生的,历史悠久的一种发送网络请求的方案. 基本上所有前端框架对于网络请求的部分都是基于它来完成的. 在本章 ...

随机推荐

  1. [转帖]初探Linux CPU动态调频与实测

    https://zhuanlan.zhihu.com/p/33753019 关于 本文主要涉及Linux CPUFreq子系统是什么,为什么需要,怎么用. 并解决在实际测试中遇到的三个问题: scal ...

  2. 【JS 逆向百例】37网游登录接口参数逆向

    声明 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 逆向目标 目标:37网游登录 主页:https://www.37.co ...

  3. Windows 堆管理机制 [3] Windows XP SP2 – Windows 2003 版本

    3. Windows XP SP2 – Windows 2003 3.1 环境准备 环境 环境准备 虚拟机 32位Windows XP SP2 \32位Windows XP SP3 调试器 OllyD ...

  4. html 图片地图

    <html> <head> <title></title> </head> <body> <img src="8 ...

  5. PHP实现字符串反转

    方法一 用自带的函数strrev echo strrev('hello'); 方法二 自写循环方法 $str = 'hello'; $i = strlen($str); $newStr=''; whi ...

  6. hv_balloon: Balloon request will be partially fulfilled. Balloon floor reached

    windows 的hyper-v 安装了 centos 或者龙蜥 操作系统,会一直提示这个信息: hv_balloon: Balloon request will be partially fulfi ...

  7. 小知识:Oracle中的层次查询

    使用Oracle中的start with .. connect by prior ..语句可以轻松实现. 下面通过scott用户下的emp来做演示,使用自己的一个19c测试环境,结果发现默认并没有sc ...

  8. 《ASP.ENT Core 与 RESTful API 开发实战》-- 读书笔记(第1章)

    第 1 章 REST 简介 1.1 API 与 REST API 是一个系统向外暴露或公开的一套接口,通过这些接口,外部应用程序能够访问该系统 REST 是一种基于资源的架构风格,任何能够命名的对象都 ...

  9. OGG-Postgres实时同步到MySQL

    (一)数据库信息 名称 源端数据库 目标端数据库 数据库类型 Postgresql 12.4 MySQL 5.7 IP地址 20.2.127.23 20.2.127.24 端口 5432 3306 数 ...

  10. OGG常用运维命令

    1. 管理(MGR)进程命令 INFO MANAGER         返回有关管理器端口和进程id的信息. START MANAGER       开启管理进程 STATUS MANAGER    ...