Ajax第一天
1.C/S&bB/S结构(了解)
1.1 C/S
定义:C(client客户端) S(server服务器) 客户端/服务器结构
特点:
1.如果不安装对应的客户端,不能享受到对应的服务
2.如果服务升级,不更新客户端,一般无法享受服务
3.客户端效果比较酷炫
4.客户端承担了一部分计算量
1.2 B/S
定义:B(browser浏览器)S(server服务器)浏览器/服务器结构特点:
1.如果不安装对应的客户端,照样能享受到对应的服务
2.如果服务升级,不更新客户端,也能享受到服务
3.浏览器的效果比较简陋
4.BS结构比较方便
5.浏览器值负责界面的显示和用户的交互
2.服务器的基础知识(了解)
定义:就是一台超级牛逼的计算器原定义:提供某种服务的机器(计算机)
2.1服务器的类型
1.按服务类型可分为:文件服务器,数据库服务器,邮件服务器,web服务器等
2.按操作系统可分为:Linux服务器、Windows服务器等;
3.按应用软件可分为Apache服务器、Nginx 服务器、IIS服务器、Tomcat服务器、
Node服务器等。
2.2服务器软件
常见的服务器软件有:
1.文件服务器:Server-U、FileZilla、VsFTP等;作用:存储文件
2.数据库服务器:Oracle、MySQL、PostgreSQL、MSSQL等;作用:存储数据
3.邮件服务器:Postfix、Sendmail等;作用:发邮件
4.HTTP 服务器:Apache、Nginx、IIS、Tomcat、NodeJS等;作用:web服务
器,为用户提供网页浏览服务
5.文件服务器:Server-U、FileZilla(上传文件到服务器)、VsFTP等;
6.数据库服务器:Oracle(世界上最大的商用数据库(银行也用)))、MySQL(最流行的免
费的开源数据库)、PostgreSQL(世界最符合数据库语言的数据库(教学用的))、
MSSQL(微软的数据库收费的)等;
2.3应用软件
定义:为客户端提供某种服务的软件
1.Apache:就是运行php写的后台程序的软件
2.Tomcat:运行的是java写的后台程序的软件
3.IIS:运行的是C#写的后台程序的软件
4.Nginx:反向代理服务器负载均衡
5.Node:js写的服务器程序能写前端,后端能做客服端
2.4什么客户端开发,后台开发
客户端开发:
1.客户端开发:android开发(java) ios开发(object-c swift) PC客户端开发
(c++)
2.前端开发(html css js): 特殊的客户端开发以浏览器为宿主环境,结合
HTML、CSS、Javascript等技术,而进行的一系列开发,通常称之为前
端开发
后台开发:就是使用后台语言(java php c# python ruby perl)编写只能在服务器上运行的程序的工作
3.网络基础(知道)
3.1什么是静态网页,动态网页
静态网页: 只使用html css js开发的网页如果需要更新数据必须修改代码
动态网页: 使用后台语言开发包括后台管理系统来控制用户访问的页面(模拟一下)
3.2 域名,IP,dns,端口
3.1 域名因为IP地址不好记因此出现了代表IP地址的一个特殊的字符串www.域名正
文.cn(中国域名) .org(组织机构) .edu(学校) .gov(政府)
3.2 IP 192.168.23.142 写法:ping 域名计算机在网络中的唯一地址
如何查看自己的ip地址ipconfig
mac或linux ifconfig
3.3 DNS 域名解析服务器存着域名=ip的对应信息
3.4 端口分别不同的服务存在的端口范围:0-65536
常用的端口:80 网页的端口数据库的端口3306
4.php基础
4.1 如何书写php代码
echo ‘hello world’;
?>
Php输出代码的格式
4.2如何声明变量
//字符串
$name = ‘呵呵’;
echo $name;
//数值
$age = ‘18’;
echo $age;
//布尔值
$married = false;
echo $married;
?>
4.3 连接符
$name = ‘杨幂’;
$age = ‘18’;
echo $name.’今年’.$age.’岁’; ?>
4.4 数组
//遍历数组
$arr = array(1,2,3,’a’,’b’,’c’);
for($i=0;$i echo $arr[$i]; } //双重数组 $arr2=array( array(1,2,3), array('a','b','c') ); for($i=0;$i // echo $arr2[$i]; for($j=0;$j echo $arr2[$i][$j]; } } 关联数组 $arrlink=array('tongliya'=>'12434532','age'=> 13); 关联数组的遍历方法 方法foreach (数组的名称as ) foreach($arrlink as $key=>$val){ echo $key.'======'.$val.' } 4.5对象 // php中的对象 // js var odj={name:'tom'} // php中的对象声明有三个步骤 // 画图纸 class Car{ public $color;//颜色 public $brand;//牌子 } // 制造实例化 $car=new Car(); // 喷漆挂牌子 echo $car->color='red'.' var_dump($car); ?> Ajax第二天1.表单提交 1.1 get提交(默认) 1. 设置提交地址 a ction=”路径” 列子: 2.设置提交方式(get是默认方式) method=”get” 列子: 列子: 4.用get提交方式,在后台要用$_GET数组接收 列子: var_dump($_GET); ?> 1.2post提交 1. 设置提交地址 a ction=”路径” 列子:
';
'; echo $car->brand="aodi";
2.设置提交方式
method:”post”
列子:
3.input的name属性
4.用post方式提交,在后台要用$_POST数组来接收
var_dump($_POST);
?>
1.3get提交和post提交的区别
1. 提交方式不同
get提交方式:
var_dump($_GET);
post提交方式:
var_dump($_POST);
2.get方式在地址栏能看到提交信息,post则看不到
get方式:
3. get方式提交的信息量是有限的,post方式提交的信息量是无限大的
4.相对post来说get方式不太安全,post更安全点
5. 提交的数据格式
相同点:post方式和get方式提交的数据的格式:key=value&key2=value2
1.4 文件上传
1. 设置提交地址
2. 设置提交方式
3. 设置特殊属性enctype=”multipart/form-data”
默认的格式,是一种特殊属性
4. 上传文件,在后台要使用$_FILES二维数组来接收
print_r($_FILES);
?>
5. 文件上传上去,会存入服务器的临时文件夹总,默认马上会删除
6. 使用:move_uploaded_file(临时文件夹路径,目标文件夹路径(自定义的上传的文件一般不要去自定义名称))注意:目标路径
print_r($_FILES);
move_uploaded_file(临时文件夹路径,目标文件夹路径);
?>
2.http协议
2.1 如何获取http协议内容
2.1.1 通过软件查看
2.1.2 通过chromeDevtools
2.2 同步和异步(什么时候使用同步(表单提交的时候)什么时候使用异步(独立是异步的前提,耗时是异步的理由))
2.3 原生ajax编程
内置对象实例化:
var xhr = new XMLHttpRequest();
设置请求行
Xhr.open(‘获取方式’,‘后台路径’)
xhr.open(‘post’,’http.php’);
设置请求头
只有post方式有,get方式没有,固定格式
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
设置请求正文
xhr.send("username=www&password=123456");
请求并响应
xhr.onreadystatechange=function(){
if(xhr.readyState==4&&xhr.status==200){
console.log(xhr.responseText);
}
}
Ajax第三天
1.XML(存储数据的文件)
可扩展标记语言
语法:
1.
2.只能有一个根元素
3.标签不能嵌套
4.提倡使用双引号(单引号浏览器会更正)
5.特殊符号请使用html实体符号
2.JSON(存储数据的文件)
定义:json就是复合js对象格式的字符串
介绍:json一种轻量级的数据传输格式,独立于语言的(大多数语言中都认识和能解析json)
格式:json:在json文件中格式
对象格式:jsonObj=‘{“name”:“haha”}’;
数组格式:jsonArr=‘[{“name”:“haha”},{“age”:16}]’;
列子:
[
{
"name":"小明",
"age":16,
"hobby":"pink"
},
{
"name":"小红",
"age":17,
"hobby":"blue"
},
{
"name":"小白",
"age":19,
"hobby":"deeppink"
}
]
如何解析json:
$json = file_get_contents('json-1.json');
echo $json;
1.json->对象
JSON.parse();
eval() 过时了很少用
2.对象->json
JSON.stringify()
$jsonStr='[{"name":"haha","age":16},{"name":"hehe","age":18}]';
//把json字符串转换成php数组
$phpobj = json_decode($jsonStr,true);
var_dump($phpobj);
//把php数组变成jsonStr
$arr = array("name"=>"enen","age"=>"16");
$arrStr = json_encode($arr);
echo $arrStr;
?>
3.封装ajax
第一种方法:
Ajax第四天
jQuery Ajax 全解析【.ajax .post .get】 1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中。 url (String) : 请求的HTML页的URL地址。 data (Map) : (可选参数) 发送至服务器的 key/value 数据。 callback (Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。 这个方法默认使用 GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 "url #some > selector"。 这个方法可以很方便的动态加载一些HTML文件,例如表单。 示例代码: $(".ajax.load").load("https://www.wendangku.net/doc/7410604010.html,/QLeelulu/archive/2008/03 /30/1130270.html .post", function (responseText, textStatus, XMLHttpRequest){ this;//在这里this指向的是当前的DOM对象,即 $(".ajax.load")[0] //alert(responseText);//请求返回的内容 //alert(textStatus);//请求状态:success,error //alert(XMLHttpRequest);//XMLHttpRequest对象 }); 注:不知道为什么URL写绝对路径在FF下会出错,知道的麻烦告诉下。下面的get()和post()示例使用的是绝对路径,所以在FF下你将会出错并不会看到返回结果。还有get()和post()示例都是跨域调用的,发现传上来后没办法获取结果,所以把运行按钮去掉了。 2. jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求 参数: url (String) : 发送请求的URL地址.
ajax原理介绍 AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 主要包含了以下几种技术 Ajax(Asynchronous JavaScript + XML)的定义 基于web标准(standards-based presentation)XHTML+CSS的表示; 使用 DOM(Document Object Model)进行动态显示及交互; 使用 XML 和 XSLT 进行数据交换及相关操作; 使用 XMLHttpRequest 进行异步数据查询、检索; 使用 JavaScript 将所有的东西绑定在一起。英文参见Ajax的提出者Jesse James Garrett的原文。 类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于AJAX的“派生/合成”式,derivative/composite)的技术正在出现,如“AFLAX”。 AJAX的应用使用支持以上技术的web浏览器作为运行平台。这些浏览器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。但是Opera不支持XSL格式对象,也不支持XSLT。 与传统的web应用比较 传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然後返回一个新的网页。这个做法浪费了许多带宽,因为在前後两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。 与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP 或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。
这是login.html页面
jQuery 如何调用AJax(五种方法)方法一:load() 使用load方法可以帮助你加载非本地的HTML页面,并注入到当前调用的DOM中。 $.ajaxSetup({ cache: false }); var ajax_load = ""; var loadUrl = "ajax/load.php"; $("#load_button").click(function() { $("#result").html(ajax_load).load(loadUrl);
}); cache: false 的意思是让浏览器不执行缓存功能,这样的话页面的内容将实时更新,否则某些浏览器会出现内容不更新的问题,当点击按钮后,因为加载过程需要时间,所以这里我们先使用.html方法来添加一个”加载中”的图片,然后执行load方法。 高级使用方法: 1. 加载页面某一部分 例如只加载ID为”pic”的部分,代码如下: $("#load_button").click(function() { $("#result").html(ajax_load).load(loadUrl + " #pic"); }); 2. 递交参数执行页面加载
可以给load方法添加GET或者POST参数,代码如下: $("#load_get").click(function() { $("#result").html(ajax_load).load(loadUrl, "page=0&size=10"); }); $("#load_post").click(function() { $("#result").html(ajax_load).load(loadUrl, { page: 0, size: 10 }); }); 3. 添加回调函数 回调函数可以让你在结束AJAX调用后调用该函数,比如在页面load后提示用户加载完毕:
jQuery Ajax应用解析 jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。 我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到). 1. load( url, [data], [callback] ) :载入远程HTML 文件代码并插入至DOM 中。 url(String) : 请求的HTML页的URL地址。 data(Map) : (可选参数) 发送至服务器的key/value 数据。 callback(Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。 这个方法默认使用GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。jQuery 1.2 中,可以指定选择符,来筛选载入的HTML 文档,DOM 中将仅插入筛选出的HTML 代码。语法形如"url #some > selector"。 这个方法可以很方便的动态加载一些HTML文件,例如表单。 示例代码: $(".ajax.load").load("https://www.wendangku.net/doc/7410604010.html,/QLeelulu/archive/2008/03/30/1130270.html .post", function (responseText, textStatus, XMLHttpRequest){ this;//在这里this指向的是当前的DOM对象,即$(".ajax.load")[0] //alert(responseText);//请求返回的内容 //alert(textStatus);//请求状态:success,error //alert(XMLHttpRequest);//XMLHttpRequest对象 }); 这里将显示结果。 注:不知道为什么URL写绝对路径在FF下会出错,知道的麻烦告诉下。下面的get()和post()示例使用的是绝对路径,所以在FF下你将会出错并不会看到返回结果。还有get()和post()示例都是跨域调用的,发现传上来后没办法获取结果,所以把运行按钮去掉了。 2. jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求 参数: url(String) : 发送请求的URL地址. data(Map) : (可选) 要发送给服务器的数据,以Key/value 的键值对形式表示,会做为QueryString附加到请求URL中。 callback(Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。 这是一个简单的GET 请求功能以取代复杂$.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用$.ajax。示例代码: $.get("./Ajax.aspx", {Action:"get",Name:"lulu"}, function (data, textStatus){
jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到). 1. load( url, [data], [callback] ) :载入远程HTML 文件代码并插入至DOM 中。 url (String) : 请求的HTML页的URL地址。 data (Map) : (可选参数) 发送至服务器的key/value 数据。 callback (Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。 这个方法默认使用GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。jQuery 1.2 中,可以指定选择符,来筛选载入的HTML 文档,DOM 中将仅插入筛选出的HTML 代码。语法形如"url #some > selector"。 这个方法可以很方便的动态加载一些HTML文件,例如表单。 示例代码: $(".ajax.load").load("[url]https://www.wendangku.net/doc/7410604010.html,/QLeelulu/archive/2008/03/30/1130270.html[/url] .post", function (responseText, textStatus, XMLHttpRequest){ this;//在这里this指向的是当前的DOM对象,即$(".ajax.load")[0] //alert(responseText);//请求返回的内容 //alert(textStatus);//请求状态:success,error //alert(XMLHttpRequest);//XMLHttpRequest对象 }); 这里将显示结果。 注:不知道为什么URL写绝对路径在FF下会出错,知道的麻烦告诉下。下面的get()和post()示例使用的是绝对路径,所以在FF下你将会出错并不会看到返回结果。还有get()和post()示例都是跨域调用的,发现传上来后没办法获取结果,所以把运行按钮去掉了。 2. jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求 参数: url (String) : 发送请求的URL地址. data (Map) : (可选) 要发送给服务器的数据,以Key/value 的键值对形式表示,会做为QueryString附加到请求URL中。 callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。 这是一个简单的GET 请求功能以取代复杂$.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用$.ajax。示例代码: $.get("./Ajax.aspx", {Action:"get",Name:"lulu"}, function (data, textStatus){ //返回的 data 可以是 xmlDoc, jsonObj, html, text, 等等. this; // 在这里this指向的是Ajax请求的选项配置信息,请参考下图
PHP jQuery Ajax Form表单提交实例解析,包括创建一个表单html页面、添加JQuery代码、jquery ajax表单提交、jquery ajax表单验证、反馈信息给用户,php ajax 表单验证,php ajax提交表单,php ajax form验证,php ajax提交form。 本实例用到JQuery类库本身的函数和功能,所有表单信息利用PHPMailer类库邮件的形式发送。 1、创建一个表单html页面 表单部分html代码 这里用一个id为contact_form来包含整个包含信息;这是有意义的,稍后在JavaScript与用户交互信息的时候会用到,这里form标签的属性里面既包含了method和action;这个意义其实不大,因为Javascript直接操作DOM,所以没有这两个属性也是可以的;务必要给用户输入的input标签加独立的id,这和第二点原理类似。否则,无法看到正常的效果。 2、添加JQuery代码 这里假设你已经从JQuery官方网站上下载了JQuery基库,然后上传到了你的WEB服务器,并添加到你要使用的网页中。
现在新建一个JS文件 第1行的function()函数与Jquery的document.ready函数用法和功能相同,都是在DOM准备完毕后自动触发。第2行里面是一个单击触发函数click(),需要注意的是,在HTML一页提交按钮上需要放置一个名为“button”的Class,以模拟实现submit 提交表单的功能,从第二点我们可以看出,JQuery可以很好的将结构和逻辑分离。 3、jquery ajax表单验证 在实际应用中,这一步是必不可少的。在用户漏填,错填某个项目时,及时提示。
这篇文章主要介绍了jquery+ajax实现跨域请求的方法,详细介绍了前台及后台的处理方法,是非常实用的技巧,需要的朋友可以参考下 本文实例讲述了jquery+ajax实现跨域请求的方法。分享给大家供大家参考。具体实现方法如下: 说明:这里的datatype 为jsonp ;type 只能为get 前台请求代码如下: 代码如下: $.ajax({ type: get, url: , datatype: jsonp, jsonp: jsoncallback, success: function (result) { alert(result.success); alert(result.content); }, error: function (result, status) { //处理错误 } }); 后台处理代码validaccountsexists.aspx如下: 代码如下: string accounts = gamerequest.getquerystring(accounts); string jsoncallback = gamerequest.getquerystring(jsoncallback); response.contentencoding =system.text.encoding.utf8; response.contenttype = application/json; response.write(jsoncallback + ({\success\:\true\,\content\:\ + accounts + \})); response.end(); 希望本文所述对大家的jquery程序设计有所帮助。
JQUERY AJAX异步操作详细说明 AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和XML)。它并非一种新的技术,而是以下几种原有技术的结合体。 1)使用CSS和XHTML来表示。 2)使用DOM模型来交互和动态显示。 3)使用XMLHttpRequest来和服务器进行异步通信。 4)使用javascript来绑定和调用。 通过AJAX异步技术,可以在客户端脚本与web服务器交互数据的过程中使用XMLHttpRequest对象来完成HTTP请求(Request)/应答(Response)模型: 1)不需要用户等待服务端响应。在异步派发XMLHttpRequest请求后控制 权马上就被返回到浏览器。界面不会出现白板,在得到服务器响应之前 还可以友好的给出一个加载提示。 2)不需要重新加载整个页面。为XMLHttpRequest注册一个回调函数,待 服务器响应到达时,触发回调函数,并且传递所需的少量数据。“按需 取数据”也降低了服务器的压力。 3)不需要使用隐藏或内嵌的框架。在XHR对象之前,模拟Ajax通信通常 使用hack手段,如使用隐藏的或内嵌的框架(
发表于:2010-1-11 浏览:965 作者:转载遗失来源:网络转载 关键字:AJAX,详解,请求 描述:注意:以下代码请在Firefox3.5、Chrom e3.0、Safari4之后的版本中进行测试。IE8的实现方法与其他浏览不同。跨域请求,顾名思义,就是一个站点中的资源去访问另外一个不同域名站点上的资源。这种情况很常见 注意:以下代码请在Firefox 3.5、Chrome 3.0、Safari 4之后的版本中进行测试。IE8的实现方法与其他浏览不同。 跨域请求,顾名思义,就是一个站点中的资源去访问另外一个不同域名站点上的资源。这种情况很常见,比如说通过style 标签加载外部样式表文件、通过img 标签加载外部图片、通过 script 标签加载外部脚本文件、通过Webfont 加载字体文件等等。默认情况下,脚本访问文档属性等数据采用的是同源策略(Same origin policy)。 那么,什么是同源策略呢?如果两个页面的协议、域名和端口是完全相同的,那么它们就是同源的。同源策略是为了防止从一个地址加载的文档或脚本访问或者设置从另外一个地址加载的文档的属性。如果两个页面的主域名相同,则还可以通过设置document.domain 属性将它们认为是同源的。 随着Web2.0 和SNS 的兴起,Web 应用对跨域访问的需求也越来越多,但是,在脚本中进行跨域请求是受安全性限制的,Web 开发人员迫切需要提供一种更安全、方便的跨域请求方式来融合(Mashup)自己的Web 应用。这样做的一个好处就是可以将请求分摊到不同的服务器,减轻单个服务器压力以提高响应速度;另外一个好处是可以将不同的业务逻辑分布到不同的服务器上以降低负载。 值得庆幸的是,跨域请求的标准已经出台,主流浏览器也已经实现了这一标准。W3C 工作组中的 Web Applications Working Group(Web 应用工作组)发布了一个Cross-Origin Resource Sharing(跨域资源共享,该规范地址:https://www.wendangku.net/doc/7410604010.html,/TR/access-control/和 https://www.wendangku.net/doc/7410604010.html,/2006/waf/access-control/)推荐规范来解决跨域请求的问题。该规范提供了一种更安全的跨域数据交换方法。具体规范的介绍可以访问上面提供的网站地址。值得注意的是:该规范只能应用在类似XMLHttprequest 这样的API 容器内。IE8、Firefox 3.5 及其以后的版本、Chrome浏览器、Safari 4 等已经实现了Cross-Origin Resource Sharing 规范,已经可以进行跨域请求了。 Cross-Origin Resource Sharing 的工作方式是通过添加HTTP 头的方法来判断哪些资源允许 Web 浏览器访问该域名下的信息。然而,对于那些HTTP 请求导致用户数据产生副作用的请求方法(特别是对于除了GET、某些MIME 类型的POST 之外的HTTP方法),该规范要求浏览器对请求进行“预先验”,通过发送HTTP 的OPTIONS 请求头询问服务器有哪些支持的方法,在征得服务器的同意后,再使用实际的HTTP 请求方法发送实际的请求。服务器也可以通知客户端是否需要将验证信息(如Cookie 和HTTP Authentication 数据)随同请求一起发送。 下面我们就采用实际的例子说明Cross-Origin Resource Sharing 是如何工作的。 1,简单请求
AJAX技术简介 知识点: 1、基本概念 AJAX ——A synchronous J avaScript a nd X ML 异步的Javascript和XML 传统的WEB模型:同步模型——必须是一次请求,一次响应。 每次请求服务器(地址栏输入,点击超链接,提交表单),页面都会刷新。 传统的WEB模型——同步模型——缺点: 由于浏览器在向服务器发出请求之后,必须等待服务器给响应,有可能页面成为一片空白,客户体验不好。 由于每次都要刷新整个页面,导致服务器的网络带宽被浪费。
AJAX技术的WEB模型:异步模型——可以连续发出多个请求给服务器,在随后 不确定的时间里响应回来。 我们有了一种新的请求服务器的方法(以前传统的浏览器请求服务器的方式:地址栏输入、点击超链接、提交表单),通过下图的Ajax Engine(引擎)。 我们可以通过AJAX引擎发出多个请求,然后可以接收服务器的响应。 此时可以不必刷新整个浏览器页面,就能更新页面的部分内容。 AJAX技术优势: 1、传统模式每次请求页面都会刷新,这样比较占用服务器网络带宽。 AJAX模式可以实现局部刷新,大大节约服务器网络带宽。 2、AJAX模式能很好的改善客户体验。 2、X MLHttpRequest使用 Ajax Engine在浏览器中是一个对象,它的类型是:XMLHttpRequest 1、创建XMLHttpRequest对象(它在不同浏览器中,创建方式不一样的;但是使用上是一样的)