javascript ajax javascript权威指南
大家好,关于javascript ajax很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于javascript权威指南的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
AJAX是什么如何在JavaScript中使用
JavaScript能流行,一个很重要的原因是AJAX技术的应用。在网页中有很多的应用。举两个常见的AJAX应用的例子:
1、在搜索中,我们输入关键字时,网页会实时展现搜索结果;这是用AJAX实现的。
2、使用地图时,地图会根据用户显示的位置不停的更新。这也是通过AJAX实现。
那么什么是AJAX呢?
AJAX全称为Asynchronous JavaScript And XML直译就是异步的JavaScript和XML(这里我们主要介绍下JavaScript中AJAX的应用)
通常当JavaScript向服务器发送请求获取数据时,服务器会返回数据。在传统没有使用AJAX的网页中,需要刷新页面使其重新加载。而AJAX可以使网页在不重新加载页面的情况下对网页的局部进行更新。(比如,当你要放大地图的时候,你会不断的向服务器请求地图当前位置的详细信息,服务器返回数据给你,这里我们并不需要重新加载整个页面,不然用户体验就太差了。而是局部更新页面。)
由于我不可能在这写一个地图这样复杂的例子,而为了演示AJAX的使用,我借用了秒秒学的一个简单示例:
//简单的AJAX举例。
// 1:创建请求变量
var myRequest;
//浏览器的特征检查。
if(window.XMLHttpRequest){//若支持,则是火狐、谷歌等浏览器。
myRequest= new XMLHttpRequest();
} else if(window.ActiveXObject){//若不支持,则是IE浏览器。
myRequest= new ActiveXObject("Microsoft.XMLHTTP");
}
// 2:为请求添加事件处理代码。
myRequest.onreadystatechange= function(){
console.log("匿名函数被调用!");
console.log(myRequest.readyState);
if(myRequest.readyState=== 4){
var p= document.createElement("p");
var t= document.createTextNode(myRequest.responseText);
p.appendChild(t);
document.getElementById("mainContent").appendChild(p);
}
};
// 3:配置发送请求
myRequest.open('GET','simple.txt', true);
myRequest.send(null);
//....
使用AJAX主要分三部分,如示例中的
1、创建请求的变量。
在script文件中,首先声明XMLHttpRequest对象,这也是题主说的Ajax的核心。浏览器页面能通过XMLHttpRequest对象和服务器进行通讯。因为这个对象的创建因浏览器的不同而有区别。所以我们要用if语句判断XMLHttpRequest是否存在。
2、为请求添加事件处理代码
创建好XMLHttpRequest对象后,就可以向服务器发送请求了,不过我们首先处理服务器响应的事件。当服务器响应后会触发myRequest对象的onreadystatechange事件。
在onreadystatechange事件中我们看到myRequest调用了readyState属性,readyState有4个值表示目前响应所在的阶段,各数值表示如下:
l 1:请求已经建立,但是还没有发送(还没有调用 send())。
l 2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
l 3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。
l 4:响应已完成;您可以获取并使用服务器的响应了。
我们一般只关心readyState的值为4的情况,表示响应已完成。
3、配置发送请求
使用open方法配置请求。它有三个参数:
1、第一个参数表示用GET获取服务器中的数据。
2、第二个参数是一个服务器地址,这里我们用本地的simple.txt代替,省去创建服务器的麻烦。
3、第三个参数true表示请求是异步的,即当请求发送后,JavaScript不会为了等待服务器的响应而阻塞,它会继续执行后续代码。
配置好请求后,用send方法发送请求,这里给send传递的参数是null,若有其它参数需要发送,也可以传递给send方法。
这样AJAX的简单使用例子就说完了,以上示例来自教程网站秒秒学,希望对你有帮助。
javascript和ajax的区别
javascript是一种用于浏览器的脚本语言,它的主要功能分dom和bom操作两种,前者用于对网页文档进行操作,后者对于浏览器对象进行操作,它们都具有丰富多彩的强大效果。虽然JavaScript在诞生之初借用了Java的名,但从前景来看,这种动态弱类型的脚本语言可能比静态强类型的Java要更有前途。
Ajax诞生于2005年,这是一种借助XMLHttpRequest异步与后台进行通信的“新”技术。XMLHttpRequest,加上dom,css,xml等各项技术,再使用JavaScript将它们糅合在一起,就组成了Ajax。它的最大特点是异步无刷新的响应机制,这使BS程序开始在界面感观上能与CS程序媲美。此外,Ajax还不限后台语言,这使得它从诞生之初就得到了非常广泛的认同和使用。
javascript实现原生ajax的几种方法介绍_javascript技巧
自从javascript有了各种框架之后,比如jquery,使用ajax已经变的相当简单了。但有时候为了追求简洁,可能项目中不需要加载jquery这种庞大的js插件。但又要使用到ajax这种功能该如何办呢?下面和大家分享几种利用javascript实现原生ajax的方法。
实现ajax之前必须要创建一个 XMLHttpRequest对象。如果不支持创建该对象的浏览器,则需要创建 ActiveXObject,具体方法如下:
代码如下:
var xmlHttp;
function createxmlHttpRequest(){
if(window.ActiveXObject){
xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
} else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
(1)下面使用上面创建的xmlHttp实现最简单的ajax get请求:
代码如下:
function doGet(url){
//注意在传参数值的时候最好使用encodeURI处理一下,以防出现乱码
createxmlHttpRequest();
xmlHttp.open("GET",url);
xmlHttp.send(null);
xmlHttp.onreadystatechange= function(){
if((xmlHttp.readyState== 4)&&(xmlHttp.status== 200)){
alert('success');
} else{
alert('fail');
}
}
}
(2)使用上面创建的xmlHttp实现最简单的ajax post请求:
代码如下:
function doPost(url,data){
//注意在传参数值的时候最好使用encodeURI处理一下,以防出现乱码
createxmlHttpRequest();
xmlHttp.open("POST",url);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(data);
xmlHttp.onreadystatechange= function(){
if((xmlHttp.readyState== 4)&&(xmlHttp.status== 200)){
alert('success');
} else{
alert('fail');
}
}
}
关于javascript ajax的内容到此结束,希望对大家有所帮助。