ajax datatype_Ajax的基本使用

Asynchronous javascript and xml

Ajax的实现 : 基于一个对象XMLHttpRequest (如何获取?)

步骤: 1. 获取ajax对象

    function getRequestObject() {

if (window.XMLHttpRequest) {

// 支持Opera, Safari, Mozilla, Chrome,Internet Explorer 7, and IE 8.

return(new XMLHttpRequest());

} else if (window.ActiveXObject) {

//支持IE5.5或IE6

return(new ActiveXObject("Microsoft.XMLHTTP"));

} else {

//其他低版本或者更老的浏览器不支持

return(null);

}

}

2. 发送请求

function sendRequest() {

var request = getRequestObject();

//   请求方式/请求的资源/是否异步

request.open("GET", "message-data.html", true);

//get请求send的参数为null,为啥?

request.send(null);

//服务器响应请求以后执行的代码

request.onreadystatechange = function() {

handleResponse(request)

};

}

Post请求如何发送?

request.open("POST", url, true);

request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");   //发送HTTP请求头

request.send(data);  //例如传入”a=6&b=8”,后台可用request.getparameter(“a”)获取

3. 响应处理

function handleResponse(request) {

// 4表示服务器成功完成响应(总共5种状态:0,1,2,3,4)

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

alert(request.responseText);  //responseXML

}

 }

JQ中的ajax函数应用

e7a198036bd8bbed12f0c2338643baa6.png

$.ajax({

     // 请求路径, string类型 , 默认为当前页面

url :  "address",

// 请求方式(post或get)默认为get, 注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持

      type : ”GET”,

   //发送到服务器的数据, 要求为Object或String类型的参数。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。

data :  { param1 : "Java", param2 : "PHP“ },

    //要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http返回responseXML或responseText,并作为回调函数参数传递。可用的类型如下:   xml:返回XML文档,可用JQuery处理。   html:返回纯文本HTML信息。   script:返回纯文本JavaScript代码。   json:返回JSON数据。   jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。   text:返回纯文本字符串。

dataType : "json",

   //要求为Function类型的参数,请求成功后调用的回调函数         (1)由服务器返回,并根据dataType参数进行处理后的数据。         (2)描述状态的字符串。         function(data){            //data可能是xmlDoc、jsonObj、html、text等等         }

success : successHandlerFunction,

error : errorHandlerFunction, 

//要求为Boolean类型的参数,默认为true,设置为false将不会从浏览器缓存中加载请求信息。

cache : false,

})

$.getJSON( “doFindPageObjects.do”, {pageCurrent:1} , function(result) {

//处理返回结果

})

$.post("doFindPageObjects.do", {pageCurrent:1} , function(result) {

      //处理返回结果

})

ajax的优点:

1、最大的优点就是页面无刷新,用户的体验非常好。

2、使用异步方式与服务器通信,具有更加迅速的响应能力。

3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。

4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。

5、ajax可使因特网应用程序更小、更快,更友好。

ajax的缺点:

1、ajax不支持浏览器back按钮。

2、安全问题 AJAX暴露了与服务器交互的细节。

3、对搜索引擎的支持比较弱。

4、破坏了程序的异常机制。

5、不容易调试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB画图详细教程

本文将详细介绍如何用matlab绘图并美化。 关于figure() 创建图窗窗口:figure() figure()的属性: Name:在标题栏显示的名称,接字符串,如Test Position:在电脑屏幕上的位置和大小,后接向量[l…

一个项目中说系统分为表现层、控制层、逻辑层、DAO层和最终数据库五层架构...

表现层就是看到的东西,比如你现在看到的当前页面控制层就将你的请求从页面传到后台代码逻辑层就是处理你的请求的代码DAO层就是将数据存到数据库中的代码数据库就是数据库了,存东西用的DAO层就是将访问数据库的代码,数据库层是数据存储与管理…

python封装exe如何返回上一步_如何将python脚本封装成exe程序?

我们在编写代码时候,,有没有想过怎么去运行这个代码,绝非是在编程软件里的预览哦。而是让用户去使用,绝对要成一个安装包,如果刚刚入门的小伙伴,肯定没有想过这些,因为大部分人,还处…

android 发送广播_从0系统学Android--5.2 发送广播

从0系统学Android--52 发送广播本系列文章目录:更多精品文章分类本系列持续更新中…. 初级阶段内容参考《第一行代码》5.3 发送自定义广播前面已经学习了如何接受广播了,下面来学习如何发送自定义广播,广播类型分为:标准广播和有序…

31页官方PPT,回顾史上最大芯片WSE:科技的壮丽美感!

来源:芯潮2019年8月20日,在Hot Chips顶会上,发布了一款震惊世界的芯片:全球有史以来最大的计算机芯片wafer-scale engine (WSE)问世!这款巨型芯片来自美国创企Cerebras,每边约22厘米…

Node.js npm 详解

一、npm简介 安装npm请阅读我之前的文章Hello Node中npm安装那一部分,不过只介绍了linux平台,如果是其它平台,有前辈写了更加详细的介绍。 npm的全称:Node Package Manager. ####(1)通俗的理解 其实从字面意…

html怎么在图片上添加文字_Image J基础操作:给图片添加文字和标注

对图片添加标注和文字是科研图片处理中一个非常基础的操作,Image J也可以进行这方面的处理。 01利用描边和填充添加 在绘制好选区(几乎只会用到箭头工具)之后选择:Edit-Draw(描边,快捷键Ctrl+D),使用事先设定好的颜色和粗细进行绘制;也可以填充设定好的颜色Edit-Fill(填充…

怎么更改sql的实例版本_学会复杂一点的SQL语句:Oracle DDL和DML

create:创建表创建用户创建视图创建表create table student(id int,score int) ;student后面与括号之间可以有空格可以没有创建用户create user liuyifei identified by 4852396;drop:删除整个表、删除指定的用户、删除指定的存储空间drop table table_n…

再谈智能

来源:人机与认知实验室1. 智能的产生1.1 智能生成机理有关智能生成的机理,一直是许多领域关注的焦点问题,涉及面之广、深很是少见,初步梳理可能会与这样几个最基本的问题有关:认知生成的机理、知识生成的机理、意…

的图片怎么循环渲染_十分钟教你做个炫酷的图片切换过度效果

做个炫酷的图片切换过度效果首先,今天是520节日。到了520这类为情侣准备的节日,小编都会感到一万点暴击……首先酸一波,搞点事情(蹭波热度)。给大家分享一个520特效页面:看完记得回来为小编点个赞哦!这是案例请扫前言老…

8 线程安全且高效的单例模式

(1)双检查 if(instance null){//一次检查 synchronized (MySingleton.class) { if(instance null){//二次检查 instance new MySingleton(); } } (2)静态…

《自然》:修复AI神经网络的缺陷

来源:王宏琳科学网博客我在上一篇《海外观察》博客中,介绍了纽约大学马库斯教授和戴维斯教授的新书《重启 AI:构建我们可以信任的人工智能》和图灵奖得主朱迪亚•珀尔的著作《为什么:关于因果关系的新科学》。这两本书都分析了以深…

python魔法方法与函数_在Python中画图(基于Jupyter notebook的魔法函数)

这篇文章主要介绍了在Python中画图(基于Jupyter notebook的魔法函数),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先展示一段相关的代码: #we test the accuracy of knn and find the k which ma…

三. 自动化测试用例设计

1. 主要内容: 2. 手工测试用例与自动化测试用例区别 目前自动化测试更多的时候是定位在冒烟测试和回归测试; 冒烟测试执行的是主体功能点的用例。回归测试执行全部或部分的测试用例。3. 测试类型 4. 异常 5. WebDriver错误截图 get_screenshot_as_f…

c json保存整型数组,您如何存储“ int”? NSMutableArray *或NSMutableDictionary *中的值?整数形式的JSON数据的长期问题。...

How do you store "int" values in an NSMutableArray or NSMutableDictionary? Chronic problems with JSON data that come in as integers.Should I try to store these integers as NSNumber objects or just as strings that contain the integer?How dangero…

c++卸载工具_win7系统如何卸载office2007兼容包

win7系统如何卸载office2007兼容包?office2007是一款热门的办公软件,但有的朋友不习惯使用office2007,但是一些说电脑安装office2007软件后,想要更换其他版本的话,此前需要将office2007卸载掉,不知怎么卸载office2007…

人工智能伦理如何设定,从种群层面看人类的知识积累和进化

前言:9月份中宣部出版局《中国图书评论》对《崛起的超级智能》进行了推荐和评论,对其中阐述的种群知识库扩展观点给予了重点关注。应该说种群知识库扩展是互联网大脑架构不断发展的抽象推论,这个推论对于人工智能及其伦理的建立也应有相应的价…

[转] 三种Python下载url并保存文件的代码

原文 三种Python下载url并保存文件的代码 利用程序自己编写下载文件挺有意思的。 Python中最流行的方法就是通过Http利用urllib或者urllib2模块。 当然你也可以利用ftplib从ftp站点下载文件。此外Python还提供了另外一种方法requests。 来看看三种方法是如何来下载zip文件的&am…

北理课程 - 鸢尾花

刚开始尝试机器学习 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结前言 提示:这里可以添加本文要记录的大概内容&#xff1a…

text 两端对齐 小程序_小程序实现文字两端对齐

我们知道,text-align: justify;对最后一行无效,当有一个段落而最后一行只有两个字时,text-align: justify;的效果是前面N行两端对齐,最后一行居左,这样有利于用户的视觉体验,但是当我们只有一行文本&#x…