JQuery学习笔记(4)——ajax
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)
原生
例子
点击按钮,访问服务器上的ajax_info.txt文件,获得txt文件的内容,并修改显示的文本
<!DOCTYPE html>
<html>
<head>
<script>
var xmlhttp;//xmlhttp对象
function loadXMLDoc(url,cfunc){
//不同的浏览器,或得xmlhttp对象所调用的方法不同
if (window.XMLHttpRequest){
// IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{
// IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
//回调函数
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
function myFunction(){
//访问服务器上的/try/ajax/ajax_info.txt,并回调函数
loadXMLDoc("/try/ajax/ajax_info.txt",function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
});
}
</script>
</head>
<body>
<div id="myDiv"><h2>使用 AJAX 修改文本内容</h2></div>
<button type="button" onclick="myFunction()">修改内容</button>
</body>
</html>
XMLHttpRequest对象
ajax的核心对象,是服务器和客户端中间的桥梁,客户端向服务器发送请求和客户端获得服务器响应都是通过此对象的属性和方法来进行。
var xmlhttp;
//window.XMLHttpRequest不为空,就是true
if (window.XMLHttpRequest){
// IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{// IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
发送请求
- open(method,url,async) 连接服务器
method:请求的类型;GET 或 POSTurl:文件在服务器上的位置async:true(异步)或 false(同步),推荐使用异步
- send(string) 发送请求
如果请求方式为get,send中的参数可以省略不写
onreadystatechange事件
xmlhttp对象有两个属性readyState和status
当readyState发生改变,就会触发onreadystatechange事件
readyState有以下几种状态
- 0: 请求未初始化
- 1: 服务器连接已建立
- 2: 请求已接收
- 3: 请求处理中
- 4: 请求已完成,且响应已就绪
status有两种状态
- 200: "OK"
- 404: 未找到页面
服务器响应
使用 XMLHttpRequest 对象的 responseText 或 responseXML属性可以获得来自服务器的响应数据
responseText获得字符串形式的响应数据。responseXML获得 XML 形式的响应数据。
JQuery实现ajax
1. $.ajax(url,[settings])
最基本的ajax方法
2. load(url,[data],[callback])
从服务器载入数据并且将返回的HTML代码并插入至匹配的元素中。
data是传递给服务器的数据参数 ,可以是一个普通的对象或字符串
提供了一个回调函数complete(responseText, textStatus, XMLHttpRequest),当HTML代码并插入至匹配的元素中就会被调用
$('#mydiv').load("test.html");
//这里的first.html是当前同级目录的一个html文件
$('#mydiv').load('first.html',function (data,status) {
console.log(data);
console.log(status);//状态,成功为success,失败则为error
});
3. $.get(url,[data],[fn],[type])
使用一个HTTP GET请求从服务器加载数据
//这里实现的效果与上面的load一致
$.get("first.html",function(data){
$('#mydiv').html("test.html");
});
4. $.post(url,[data],[fn],[type])
使用一个HTTP POST请求从服务器加载数据,与上面get类似
5. $.getJSON(url,[data],[fn])
获得json数据并自动解析自动解析
$.getJSON("test.js", function(json){
console.log(json.users[3].name);
});
6. $.getScript(url,[callback])
使用一个HTTP GET请求从服务器加载并执行一个 JavaScript 文件
JQuery学习笔记(4)——ajax的更多相关文章
- jQuery学习笔记之Ajax用法详解
这篇文章主要介绍了jQuery学习笔记之Ajax用法,结合实例形式较为详细的分析总结了jQuery中ajax的相关使用技巧,包括ajax请求.载入.处理.传递等,需要的朋友可以参考下 本文实例讲述了j ...
- jQuery学习笔记(Ajax)
jQuery对Ajax操作进行了封装,在jQuery中$.ajax方法属于最底层的方法,第2层是$.load().$.get().$.post()方法,第3层是$.getScript()和$.getJ ...
- 初步学习jquery学习笔记(六)
jquery学习笔记六 AJAX 简介 AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新. load() 方法 load() 方法从服务器加载数据,并把返回的数据 ...
- jQuery学习笔记之jQuery的Ajax(3)
jQuery学习笔记之jQuery的Ajax(3) 6.jQuery的Ajax插件 源码地址: https://github.com/iyun/jQueryDemo.git ------------- ...
- jQuery学习笔记(一)jQuery选择器
目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...
- jQuery 学习笔记
jQuery 学习笔记 一.jQuery概述 宗旨: Write Less, Do More. 基础知识: 1.符号$代替document.getElementById( ...
- jQuery学习笔记(一):入门
jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操 ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- JQuery学习笔记——层级选择器
JQuery学习笔记--层级选择器 上一篇学习了基础的五种选择,分别是id选择器,class选择器,element选择器,*选择器 和 并列选择器.根据手册大纲,这篇学习的是层级选择器. 选择器: 1 ...
- jQuery学习笔记之插件开发(4)
jQuery学习笔记之插件开发(4) github源码地址 插件:了让原有功能的增强. 1.插件的种类(3种):局部.全局.选择器插件 1.1封装对象方法的插件 这种类型的插件是把一些常用或者重复使用 ...
随机推荐
- acwing 850. Dijkstra求最短路 II 模板
地址 https://www.acwing.com/problem/content/description/852/ 给定一个n个点m条边的有向图,图中可能存在重边和自环,所有边权均为非负值. 请你求 ...
- C# LINQ Join两个表连接,关联多个条件的写法
1.sql语句: select * from Users u join Teachers t on u.UserID==t.TeacherID and u.Name=t.Name 2.linq写法: ...
- Zuul 修改 请求头、响应头 (死磕)
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...
- @Transactional注解失效
一.特性 先来了解一下@Transactional注解事务的特性吧,可以更好排查问题 1.service类标签(一般不建议在接口上)上添加@Transactional,可以将整个类纳入spring事务 ...
- 什么是面向对象编程(OOP)?
Java 程序员第一个要了解的基础概念就是:什么是面向对象编程(OOP)? 玩过 DOTA2 (一款推塔杀人的游戏)吗?里面有个齐天大圣的角色,欧洲战队玩的很溜,国内战队却不怎么会玩,自家人不会玩自家 ...
- C#面向对象--简介
一.C#提供对面向对象编程(Object Oriented Programming)的完整支持:类描述对象的类型,而对象是类的具体实例,创建对象的过程也被称为实例化(Instantiation):通常 ...
- PHP+Mysql统计文件下载次数实例
PHP+Mysql统计文件下载次数实例,实现的原理也很简单,是通过前台点击链接download.php传参id,来更新点击次数. 获取文件列表: <?php require 'conn.php' ...
- 【重学Git】基础命令篇
1.git commit :在提交树中增加一个提交节点,注意:分支是指向提交节点的. 2.git branch newImage : 表示创建一个名为newImage的分支. 3.git checko ...
- 搜索某个目录下所有jar包中的mapper目录下的xml文件
rm -rf /mapper/* find /data/app/app-*/lib ! -path "*xnpush*" ! -path "*portal*" ...
- easyUI+servlet+mysql项目总结
项目介绍 利用easyUI做前端框架,进行数据展示和用户数据收集 使用servlet做后端的控制层,并调用业务逻辑组件的业务逻辑方法,处理用户请求,根据不同处理结果返回不同的结果到前端 mysql进行 ...