热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:Ajax简单封装

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Ajax简单封装相关的知识,希望对你有一定的参考价值。学习

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Ajax简单封装相关的知识,希望对你有一定的参考价值。



学习Ajax时,虽然只是简单学习,但是其中有get与post提交的方式,使用起来也没有特别方便,所以将Ajax简单封装一下

首先需要了解Ajax的原理以及执行步骤,



a1 页面 发生事件

1 创建xhr对象

2 打开ajax链接通道,链接服务器,配置信息和参数

3 发送数据到服务器

4 设置回调函数

5 服务器接收请求跟数据,处理请求, 做出响应

6 回调函数接收数据,执行回调函数

7 更新页面

接下来就是Ajax的封装


function ajax(method, url, postData, opt) {//方法,地址(get与post不同),属性值,元素
var xhr = null;
//open方法 创建一个新的http请求,并指定此请求的方法、URL以及验证信息
if (window.XMLHttpRequest) {//XMLHttpRequest可扩展超文本传输请求
xhr = new XMLHttpRequest;//现代浏览器
} else if (windou.ActiveXObject) {
//ActiveXObject对象是启用并返回 Automation 对象的引用,
xhr = new ActiveXObject("Microsoft.XMLHTTP");//ie
}
if (method == "get") {
xml.open(method, url + postData, true);//例:url="/checkUserFn?username=",postData=username //方法,地址+属性值,异步
xhr.send(null);//发送空值
}
else {
xhr.open(method, url, true);//例:url=checkUserFn
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded", "charset=utf-8");
//发送表单格式的数据,charset=utf-8可带可不带(x-www-form-urlencoded)值对大小写不敏感
// xhr.setRequestHeader("Content-type","application/json; charset=utf-8");//发送json格式的数据
// xhr.setRequestHeader("Content-type", "text/plain; charset=utf-8");//不指定Content-type时,此是默认值
// xhr.setRequestHeader("Content-type", "text/html; charset=utf-8");//发送html文本
xhr.send(postData);//向服务器发送请求; 例("username="+username)
}
xhr.Onreadystatechange= function () {
//存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
if (xhr.readyState == 4 && xhr.status == 200) {
//readyState存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。==4表示接收完毕了
// 0: 请求未初始化 1: 服务器连接已建立 2: 请求已接收 3: 请求处理中 4: 请求已完成,且响应已就绪
// xhr.status表示处理的结果是OK的
opt.innerHTML = xhr.responseText;//ajax请求加载完成之后才能正确获取responseText的值
}
}
}
//缺陷,不能打乱传参数的顺序

  其中部分借阅其他资料,有缺陷的地方欢迎指正

 


推荐阅读
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • .NetCoreWebApi生成Swagger接口文档的使用方法
    本文介绍了使用.NetCoreWebApi生成Swagger接口文档的方法,并详细说明了Swagger的定义和功能。通过使用Swagger,可以实现接口和服务的可视化,方便测试人员进行接口测试。同时,还提供了Github链接和具体的步骤,包括创建WebApi工程、引入swagger的包、配置XML文档文件和跨域处理。通过本文,读者可以了解到如何使用Swagger生成接口文档,并加深对Swagger的理解。 ... [详细]
author-avatar
尛丶俊_188
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有