JavaScript之原生ajax && jQuery之ajax
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的更多相关文章
- JS原生Ajax&Jquery的Ajax技术&Json
1.介绍Ajax Ajax = 异步 JavaScript 和 XML Ajax是一种创建快速动态网页的技术 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可以不用整个 ...
- 原生和jQuery的ajax用法
jQuery的ajax方法: $.ajax({ url:'/comm/test1.php', type:'POST', //GET async:true, //或false,是否异步 data:{ n ...
- Ajax 原生和jQuery的ajax用法
https://www.cnblogs.com/jach/p/5709175.html form数据的序列化: $('#submit').click(function(){ $('#form').se ...
- 原生和jquery 的 ajax
form数据的序列化: $('#submit').click(function(){ $('#form').serialize(); //会根据input里面的name,把数据序列化成字符串:eg:n ...
- 前端 - js方式Ajax/ jquery方式Ajax / 伪 ajax /伪ajax 进阶方式
DJANGO环境搭建: 目录文件: 关闭CSRF 添加目录文件路径 配置url 视图配置: index页面配置: 测试:(成功) 进入正题: ajax 通过GET提交数据至后台: <!DOCTY ...
- Jquery调用ajax,出现一直跳转到error问题
今天做项目的时候,遇到ajax请求,一直都是跳转到了error部分,一直没有进入success部分 后来查了一下网上的资料,有两三种说法, 一种是将dataType :'json',改成你相应的版本, ...
- 锋利jQuery 学习整理之 第六章 jQuery 与Ajax 的应用
1.Ajax 的XMLHttpRequest 对象 XMLHttpRequest 是Ajax 的核心,它是Ajax 实现的关键---发送异步请求.接受响应及执行回调都是通过它来完成的.XMLHttpR ...
- jQuery 与 Ajax 的应用
Ajax 全称为 "Asynchronous JavaScript and XML"(异步 JavaScript 和 XML ),它并不是指一种单一的技术,而是有机地利用了一系列交 ...
- 第6章 jQuery与Ajax的应用
6.1 Ajax的优势和不足 6.1.1 Ajax的优势 1.不需要插件支持 2.优秀的用户体验 3.提高Web程序的性能 Ajax模式只是通过XMLHttpRequest对象向服务器端提交希望提交的 ...
- 根据JavaScript中原生的XMLHttpRequest实现jQuery的Ajax
基本介绍 XmlHttpRequest XmlHttpRequest是JavaScript中原生的,历史悠久的一种发送网络请求的方案. 基本上所有前端框架对于网络请求的部分都是基于它来完成的. 在本章 ...
随机推荐
- [转帖]019 Linux tcpdump 抓包案例入门可真简单啊?
https://my.oschina.net/u/3113381/blog/5477908 1 tcpdump 是什么? tcpdump 可以将网络中传送的数据包完全截获下来提供分析.它支持针对网 ...
- 简单进行Springboot Beans归属模块单元的统计分析方法
简单进行Springboot Beans归属模块单元的统计分析方法 背景 基于Springboot的产品变的复杂之后 启动速度会越来越慢. 公司同事得出一个结论. beans 数量过多会导致启动速度逐 ...
- lldb3.9.0 安装攻略
Study From https://github.com/dotnet/diagnostics/blob/master/documentation/lldb/centos7/build-instal ...
- 浪潮的CS5260F CS5260H CS5260Z
助力国产操作系统新生态!麒麟信安与东方通.浪潮.新华三.长城超云等多家生态伙伴完成产品兼容性认证 作者:湖南麒麟信安科技股份有限公司时间:2022-03-11 16:28:11 我要发布 关键词: 国 ...
- vue3封装搜索表单组件
seacrch 表单完成的功能 1.根据配置json配置项自动生成表单 ok 2.是响应式的排版 ok 3.点击搜索按钮会向上抛出值 ok 4.点击重置按钮会自动清空数据,不需要父组件额外的处理 ok ...
- 安装Visual Studio的详细流程
本文介绍Visual Studio 2022软件Community(社区版)的下载.安装.运行与使用方法. 首先需要提一句,本文介绍的是Visual Studio 2022软件的下载:而其它版 ...
- 缩小ios的包体
不选全部兼容设备 在xcode中导出ipa时,不勾选导出全部兼容性设备,这样导出的ipa包含两种架构:armv7和64 打包压缩 unity提供三种压缩模式可以选择,默认选择的是:default不压缩 ...
- Nginx相关快速入门,负载均衡等
快速入门Nginx[正向反向代理,负载均衡的概念,学会Nginx的安装和常用命令,并在实际中去应用Nginx] - 知乎 1.背景介绍:当用户使用较少时,低并发的情况下,使用内部toma ...
- 仅1cm厚!华硕发布全球最薄13.3英寸笔记本
近日,华硕发布了新款Zenbook S 13 OLED,官方称其为世界最纤薄的13.3英寸OLED笔记本电脑. 据悉,这款电脑的厚度仅有1cm,重量也仅有1kg,相较其他同尺寸的笔记本,确实更加轻薄. ...
- 宝塔 websocket连接wss配置
https要使用wss连接,wss://xxxxx.com/wss 就转发到了 服务器内的127.0.0.1:2346服务. 具体转发可以放在 文件配置或者 伪静态里面 建议放在伪静态里面容易管理 n ...