【03】AJAX 向服务器发送请求
AJAX 向服务器发送请求
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 的异步请求:
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"];// 获取 IPecho $ip;}
发送一个类型为 POST 的异步请求:
xmlhttp.open("POST","/demo/javascript/ajax/ajaxDemo.php",true);xmlhttp.send("action=getIP");
后台接收方式(PHP代码):
if($_POST['action']=="getIP"){$ip=$_SERVER["REMOTE_ADDR"];// 获取 IPecho $ip;}
url - 服务器上的文件
open() 方法的 url 参数是服务器上文件的地址:
xmlhttp.open("GET","ajax_test.asp",true);
该文件可以是任何类型的文件,比如 .txt 和 .xml,或者服务器脚本文件,比如 .asp 和 .php (在传回响应之前,能够在服务器上执行任务)。
一个发送 AJAX 请求的完整代码:
<script type="text/javascript">var xmlhttp;// 创建 XMLHttpRequest 对象try{// code for IE7+, Firefox, Chrome, Opera, Safarixmlhttp=newXMLHttpRequest();}catch(e){// code for IE6, IE5xmlhttp=newActiveXObject("Microsoft.XMLHTTP");}// 初始化请求参数xmlhttp.open("GET","/demo/javascript/ajax/ajaxDemo.php?action=getIP",true);// 发送请求xmlhttp.send();</script>
【03】AJAX 向服务器发送请求的更多相关文章
- AJAX - 向服务器发送请求请求
AJAX - 向服务器发送请求请求 XMLHttpRequest 对象用于和服务器交换数据.直线电机生产厂家 向服务器发送请求 如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 ...
- AJAX向服务器发送请求
使用 XMLHttpRequest 对象的 open() 和 send() 方法: 方法 描述 open(method,url,async) 规定请求的类型.URL 以及是否异步处理请求. metho ...
- Ajax学习系列——向服务器发送请求
1.如何发送请求? 如果需要向服务器发送请求,我们使用的是XMLHttpRequest对象中的open()和send()方法. var xhr = new XMLHttpRequest();//具体创 ...
- ajax-向服务器发送请求
ajax-向服务器发送请求 1.将请求发送到服务器,使用XMLHttpRequest对象的 open() 和 send() 方法. xmlhttp. open(method,url,async ...
- Ajax向服务器端发送请求
Ajax向服务器端发送请求 Ajax的应用场景 页面上拉加载更多数据 列表数据无刷新分页 表单项离开焦点数据验证 搜索框提示文字下拉列表 Ajax运行原理 Ajax 相当于浏览器发送请求与接收响应的代 ...
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
用VS2005+SQLSERVER2008开发C/S的程序,程序上线运行一段时间之后发现在某些功能偶尔出现如下的错误: 在向服务器发送请求时发生传输级错误. (provider: TCP 提供程序, ...
- android客户端向服务器发送请求中文乱码的问
android客户端向服务器发送请求的时候,并将参数保存到数据库时遇到了中文乱码的问题: 解决方法: url = "http://xxxx.com/Orders/saveorder.html ...
- System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) .
今天使用sql server 2008 R2管理器,进行SQL查询时,频率非常高的报错: System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误. ...
- Ajax向服务器发起请求
Ajax向服务器发起请求的三个步骤: 1:创建Ajax 2:打开Ajax,打开Ajax请求 3:向服务器发起请求:需要知道地址和是get请求还是post方法 向服务器发起请求的两个方法:open 和 ...
随机推荐
- pytest的参数化
参数化有两种方式: 1. @pytest.mark.parametrize 2.利用conftest.py里的 pytest_generate_tests 1中的例子如下: @pytest.mark. ...
- Python学习规划
短时间踏实而高效的学习python 知乎:如何系统的学习python 简书:最全的python学习手册 目录 Python编程语言 python视频教程 Python神经网络算法与深度学习视频教程人工 ...
- js连续赋值,你理解了吗
看一道有意思的题,也许你会自信满满地写下答案,会是正确的吗? }; var b = a; a.x = a = {n: }; console.log('a',a); console.log('b',b) ...
- IIS中不让下级应用程序继承主域名的web.config配置
<location path="." allowOverride="true" inheritInChildApplications="fals ...
- 升级 Cocoapods 到1.2.0指定版本,降低版本及卸载
=====================升级版本=================== CocoaPods 1.1.0+ is required to build SnapKit 3.0.0+. 在 ...
- 前端Unicode转码的好处
站长工具支持Unicode转码:http://tool.chinaz.com/Tools/Unicode.aspx (这是一个网页标题)转码后 ------>变为:\u8fd9\u662f\u4 ...
- 如何优雅地从CSDN转载文章
复制粘贴应该是最显而易见的方法,但是不仅会有丢失内容,而且格式也会丢失.要想达到更好的效果,可以从html源码入手. 1.在chrome浏览器中打开要转载的文章,右键选择检查 2.在chrome的右方 ...
- deallocvt - 释放未使用的虚拟终端
SYNOPSIS(总览) deallocvt [ N1 N2 ... ] DESCRIPTION(描述) 如果不指定参数, deallocvt 程序会释放所有未使用的虚拟终端的核心内存和数据结构. 如 ...
- CAD参数绘制对齐标注(网页版)
主要用到函数说明: _DMxDrawX::DrawDimAligned 绘制一个对齐标注.详细说明如下: 参数 说明 DOUBLE dExtLine1PointX 第一条界线开始点X值 DOUBLE ...
- SqlServer数据库练习20190211
一条update语句,修改多个条件 update orderdt_jimmy set qty = (case else qty end); 好了,就这样