如何发送ajax请求?ajax请求的五个步骤详解

TheDisguiser 2020-04-20 11:01:39 java常见问答 5830

Ajax是一种可以异步交互数据的技术,目前是前端开发的程序员们最需要的技术之一,那你们知道如何实现ajax吗?它又是怎么实现的呢?跟我一起了解一下吧。

什么是ajax?

AJAX 是一种客户端 Web 开发技术,用于生成交互式 Web 应用程序。AJAX 是一种开发应用程序的方法,它结合了下面的功能,使用 JavaScript 将它们组合在一起。

AJAX 是技术的组合,而不是单一的技术。HTML 和 CSS 标记并设置信息样式,然后通常使用 JavaScript 访问跨平台和对象交互语言。JavaScript 依次动态显示信息,允许用户与之交互。此过程在浏览器和服务器之间异步交换数据。

然而,异步通信是 AJAX 的最大优势。AJAX 涵盖了广泛的 Web 技术,这些 Web 技术用于在后台与服务器通信时启动 Web 应用程序。这对用户有利,因为它不会干扰或中断他或她正在使用的网页。JavaScript 不是使用 AJAX 编程的唯一客户端脚本语言; VBScript 和其他语言都有这种功能,但 JavaScript 是最受欢迎的。

如何构建一个完整的ajax请求?

例:

//url就是请求的地址
//successFunc就是一个请求返回成功之后的一个function,有一个参数,参数就是服务器返回的报文体
function ajax(url, successFunc)
{
    var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new
    ActiveXObject('Microsoft.XMLHTTP');
    xhr.open("POST", url, true);
    xhr.onreadystatechange = function ()
    {
        if (xhr.readyState == 4)
        {
            if (xhr.status == 200)
            {
                successFunc(xhr.responseText);
            }
            else
            {
                alert("服务器返回错误!");
            }
        }
    };
    xhr.send();
}

Ajax请求的五个步骤都有哪些?

1. 建立xmlHttpRequest对象

if (window.XMLHttpRequest)
{
    xmlHttp = new XMLHttpRequest();
    if (xmlHttp.overrideMimeType)
    {
        xmlHttp.overrideMimeType("text/xml");
    }
}
else if (window.ActiveXobject)
{
    var activeName = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
    for (var i = 0; i < activeName.length; i++)
    {
        try
        {
            xmlHttp = new ActiveXobject(activeName[i]);
            break;
        }
        catch (e)
        {}
    }
}
if (!xmlHttp)
{
    alert("创建xmlhttprequest对象失败");
}
else
{}

2.设置回调函数

xmlHttp.onreadystatechange = callback;

function callback()
{}

3.使用OPEN方法与服务器建立连接 xmlHttp.open("get","ajax?name="+ name,true)

此步注意设置http的请求方式(post / get), 如果是POST方式,注意设置请求头信息xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")

4.向服务器端发送数据

xmlHttp.send(null);

如果是post就不为空

5.在回调函数中针对不同的响应状态进行处理

if (xmlHttp.readyState == 4)
{ //判断交互是否成功
    if (xmlHttp.status == 200)
    { //获取服务器返回的数据 //获取纯文本数据
        var responseText = xmlHttp.responseText;
        document.getElementById("info")
            .innerHTML = responseText;
    }
}

以上就是本篇文章的所有内容了,更多ajax相关内容,请多多关注本站了解吧。