AJAX 向服务器发送请求

作者:Jasmine - 2016年07月27日

创建 XMLHttpRequest 对象后,就可以向服务器发送请求了。


XMLHttpRequest 对象的 open() 方法和 send() 方法用来向服务器发送请求。

注意:AJAX 向服务器发送的是 http 请求,与我们浏览网页时发送的 http 请求一样。我们可以右键查看当前网页的源代码,由很多 HTML、CSS和JavaScript 组成,如果我们使用 AJAX 请求当前的 URL ,返回的内容是一样的。


open() 方法

open() 方法用来初始化 HTTP 请求参数,但是并不发送请求。

语法:

    open(method,url,async)

参数说明:



注意:AJAX 的强大之处在于异步请求,所以 async 一般设置为 true ,否则将失去意义。


例如,向演示文件发送一个类型为 GET 的异步请求:

open("GET" , "/demo/javascript/ajax/ajaxDemo.php?action=getIP" , true)

send()方法

send() 方法用来向服务器发送 HTTP 请求,并使用传递给 open() 方法的参数。

语法:

    send(string)

其中,string 为发送的内容,该参数仅仅在 POST 请求时有意义。


举例,发送一个类型为 GET 的异步请求:

xmlhttp.open("GET","/demo/javascript/ajax/ajaxDemo.php?action=getIP",true);
xmlhttp.send();

后台接收方式(PHP代码):

if($_GET['action']=="getIP"){

    $ip=$_SERVER["REMOTE_ADDR"];  // 获取 IP

    echo $ip;

}


发送一个类型为 POST 的异步请求:

xmlhttp.open("POST","/demo/javascript/ajax/ajaxDemo.php",true);
xmlhttp.send("action=getIP");

后台接收方式(PHP代码):

if($_POST['action']=="getIP"){

    $ip=$_SERVER["REMOTE_ADDR"];  // 获取 IP

    echo $ip;

}


一个发送 AJAX 请求的完整代码:

<script type="text/javascript">
var xmlhttp;
// 创建 XMLHttpRequest 对象
try{
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}catch(e){
    // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
// 初始化请求参数
xmlhttp.open("GET","/demo/javascript/ajax/ajaxDemo.php?action=getIP",true);
// 发送请求
xmlhttp.send();
</script>


本文作者: Jasmine

本文链接: https://www.jianbaizhan.com/article/477

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!


 请勿发布不友善或者负能量的内容。审查将对发布广告等违规信息进行处罚!