JS(非JQuery)中Ajax的使用
***今天整理电脑文件,翻出了之前学JS中对Ajax的的使用的一个小小总结,现跟大家一起分享,可以给刚学Javascript的小萌新一点点学习
现实ajax的步骤
- 创建XMLHttpRequest对象;
- 浏览器与服务器建立连接 ;
- 浏览器向服务器发送请求 ;
- 服务器向浏览器响应请求。
//当页面加载完毕之后,执行以下代码
window.onload = function(){
document.getElementById("ok").onclick = function(){
/*
* ok为发生点击事件的对象id,一旦点击就会调用此function方法;
* 1.创建XMLHttpRequest对象
*/
var xhr = ajaxFunction();
/*
* 2 服务器向浏览器响应请求
* readyState 属性表示Ajax请求的当前状态。它的值用数字代表。
0 代表未初始化。 还没有调用 open 方法
1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用
2 代表已加载完毕。send 已被调用。请求已经开始
3 代表交互中。服务器正在发送响应
4 代表完成。响应发送完毕
常用状态码及其含义:
404 没找到页面(not found)
403 禁止访问(forbidden)
500 内部服务器出错(internal service error)
200 一切正常(ok)
304 没有被修改(not modified)(服务器返回304状态,表示源文件没有被修改 )
*/
xhr.onreadystatechange = function(){
alert(xhr.readyState);
//alert(xhr.status); //可输出状态值进行查询验证
if(xhr.readyState==4){
if(xhr.status==200||xhr.status==304){
var data = xhr.responseText;//获取到的data数据
alert(data);//输出校验或者可以通过js显示在你需要显示的地方
}
}
}
/*
* 3 浏览器与服务器建立连接
*
* xhr.open(method, url, asynch);
* * 与服务器建立连接使用
* * method:请求类型,类似 “GET”或”POST”的字符串。
* * url:路径字符串,指向你所请求的服务器上的那个文件。请求路径
* * asynch:表示请求是否要异步传输,默认值为true(异步)。
*/
xhr.open("POST","loginServlet?",true);
xhr.send("username=admin&password=admin");
/*
* 4.浏览器向服务器发送请求
* 参数说明
* (1)如果浏览器请求的类型为GET类型时,通过send()方法发送请求数据,服务器接收不到
* (2)请求路径
* (3)true异步请求,false同步
* send()方法:可将需要传输到后台的数据通过此方法传入(格式按url数据传递格式进行编写)
*
*/
}
}
//ajaxFunction为定义一个ajax的对象方法,方便上面调用创建ajax对象
function ajaxFunction(){
var xmlHttp;
try{ // Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e){
try{// Internet Explorer
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
return xmlHttp;
}
真实开发中几乎不用这样的技术,但对刚入门学习的同学来说还是有帮助,不喜勿喷。(有问题或不懂的,可在评论区问或私信、、)
本文详细介绍了在JavaScript中如何使用Ajax实现与服务器的异步通信,包括创建XMLHttpRequest对象、建立连接、发送请求及响应处理等关键步骤,并提供了一个完整的示例代码。
1740

被折叠的 条评论
为什么被折叠?



