AJAX 向服务器发送请求

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

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

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

open() 方法(魔芋:初始化)

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

语法:
    open(method,url,async)
参数说明:

参数 说明
method 必须参数。请求的类型,GET 或 POST。
url 必须参数。文件在服务器上的位置。
async 必须参数。是否异步发送请求,true(异步)或 false(同步)。

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

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

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

send()方法

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

语法:
    send(string)
其中,string 为发送的内容,该参数仅仅在 POST 请求时有意义。

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

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

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

  1. if($_GET['action']=="getIP"){
  2. $ip=$_SERVER["REMOTE_ADDR"];// 获取 IP
  3. echo $ip;
  4. }
 

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

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

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

  1. if($_POST['action']=="getIP"){
  2. $ip=$_SERVER["REMOTE_ADDR"];// 获取 IP
  3. echo $ip;
  4. }

url - 服务器上的文件

open() 方法的 url 参数是服务器上文件的地址:

  1. xmlhttp.open("GET","ajax_test.asp",true);
 

该文件可以是任何类型的文件,比如 .txt 和 .xml,或者服务器脚本文件,比如 .asp 和 .php (在传回响应之前,能够在服务器上执行任务)。

 

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

  1. <script type="text/javascript">
  2. var xmlhttp;
  3. // 创建 XMLHttpRequest 对象
  4. try{
  5. // code for IE7+, Firefox, Chrome, Opera, Safari
  6. xmlhttp=newXMLHttpRequest();
  7. }catch(e){
  8. // code for IE6, IE5
  9. xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
  10. }
  11. // 初始化请求参数
  12. xmlhttp.open("GET","/demo/javascript/ajax/ajaxDemo.php?action=getIP",true);
  13. // 发送请求
  14. xmlhttp.send();
  15. </script>
 

【03】AJAX 向服务器发送请求的更多相关文章

  1. AJAX - 向服务器发送请求请求

    AJAX - 向服务器发送请求请求 XMLHttpRequest 对象用于和服务器交换数据.直线电机生产厂家 向服务器发送请求 如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 ...

  2. AJAX向服务器发送请求

    使用 XMLHttpRequest 对象的 open() 和 send() 方法: 方法 描述 open(method,url,async) 规定请求的类型.URL 以及是否异步处理请求. metho ...

  3. Ajax学习系列——向服务器发送请求

    1.如何发送请求? 如果需要向服务器发送请求,我们使用的是XMLHttpRequest对象中的open()和send()方法. var xhr = new XMLHttpRequest();//具体创 ...

  4. ajax-向服务器发送请求

    ajax-向服务器发送请求 1.将请求发送到服务器,使用XMLHttpRequest对象的 open() 和 send() 方法.     xmlhttp. open(method,url,async ...

  5. Ajax向服务器端发送请求

    Ajax向服务器端发送请求 Ajax的应用场景 页面上拉加载更多数据 列表数据无刷新分页 表单项离开焦点数据验证 搜索框提示文字下拉列表 Ajax运行原理 Ajax 相当于浏览器发送请求与接收响应的代 ...

  6. 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)

    用VS2005+SQLSERVER2008开发C/S的程序,程序上线运行一段时间之后发现在某些功能偶尔出现如下的错误: 在向服务器发送请求时发生传输级错误. (provider: TCP 提供程序, ...

  7. android客户端向服务器发送请求中文乱码的问

    android客户端向服务器发送请求的时候,并将参数保存到数据库时遇到了中文乱码的问题: 解决方法: url = "http://xxxx.com/Orders/saveorder.html ...

  8. System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) .

    今天使用sql server 2008 R2管理器,进行SQL查询时,频率非常高的报错: System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误. ...

  9. Ajax向服务器发起请求

    Ajax向服务器发起请求的三个步骤: 1:创建Ajax 2:打开Ajax,打开Ajax请求 3:向服务器发起请求:需要知道地址和是get请求还是post方法 向服务器发起请求的两个方法:open 和 ...

随机推荐

  1. 51nod 1134最长递增子序列

    1134 最长递增子序列 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元素 ...

  2. Guilty Prince LightOJ - 1012

    Guilty Prince LightOJ - 1012 #include<cstdio> #include<cstring> ][]; int ans,h,w,T,TT; ] ...

  3. TRUNCATE TABLE 与 DELETE (转)

    TRUNCATE TABLE 删除表中的所有行,而不记录单个行删除操作.TRUNCATE TABLE 与没有 WHERE 子句的 DELETE 语句类似:但是,TRUNCATE TABLE 速度更快, ...

  4. GUI初步和frame&panel

    java的话这个GUI其实不是什么重点,但我们也要学习,重点是学习这种图形编程的思路. java里面对于图形的一些类都封装在了AWT和它的一些子包里.AWT(抽象窗口开发包)            当 ...

  5. 微信小程序组件解读和分析:十二、picker滚动选择器

    picker滚动选择器组件说明: picker: 滚动选择器,现支持三种选择器,通过mode属性来区分, 分别是普通选择器(mode = selector),时间选择器(mode = time),日期 ...

  6. 锐动SDK置于社区沙龙

    北京锐动天地信息技术有限公司成立于2007年9月.多年来一直专注于音视频领域核心技术的研发, 拥有Windows.iOS.Android全平台自主知识产权的领先技术产品. 2011年获得新浪战略投资, ...

  7. Laravel Mix编译前端资源

    目前项目是使用的vue+laravel来写的,其中laravel和vue分别放了一个目录,但是这样有个问题,那就是vue需要经常更新,不然运行项目会经常出现各种问题,这里就看了看laravel的文档, ...

  8. JDK1.8中的Stream详解

    Stream简介 Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念.它也不同于 StAX 对 XML ...

  9. CAD交互绘制圆弧(com接口)

    在CAD设计时,需要绘制圆弧,用户可以在图面点圆弧起点,圆弧上的一点和圆弧的终点,这样就绘制出圆弧. 主要用到函数说明: _DMxDrawX::DrawArc2 由圆弧上的三点绘制一个圆弧.详细说明如 ...

  10. CAD参数绘制线型标注(com接口)

    主要用到函数说明: _DMxDrawX::DrawDimRotated 绘制一个线型标注.详细说明如下: 参数 说明 DOUBLE dExtLine1PointX 输入第一条界线的起始点X值 DOUB ...