一 Http请求
二 AJax和XMLHttpRequest
三 一个Ajax例子
四 Egret中的egret.HttpRequest
五 Post和Get区别
一 Http请求
Http深入浅出 http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html
http请求返回码 http://blog.chinaunix.net/uid-25311424-id-3052306.html
二 Ajax和XMLHttpRequest
根据w3school的AJAX Http请求描述:
AJAX 使用 Http 请求
在传统的 JavaScript 编程中,假如您希望从服务器上的文件或数据库中得到任何的信息,或者向服务器发送信息的话,就必须利用一个 HTML 表单向服务器 GET 或 POST 数据。而用户则需要单击“提交”按钮来发送/获取信息,等待服务器的响应,然后一张新的页面会加载结果。
由于每当用户提交输入后服务器都会返回一张新的页面,传统的 web 应用程序变得运行缓慢,且越来越不友好。
通过利用 AJAX,您的 JavaScript 会通过 JavaScript 的 XMLHttpRequest 对象,直接与服务器来通信。
通过使用 HTTP 请求,web 页可向服务器进行请求,并得到来自服务器的响应,而不加载页面。用户可以停留在同一个页面,他或她不会注意到脚本在后台请求过页面,或向服务器发送过数据。
XMLHttpRequest 对象
通过使用 XMLHttpRequest 对象,web 开发者可以做到在页面已加载后从服务器更新页面!
在 2005 年 AJAX 被 Google 推广开来(Google Suggest)。
Google 建议使用 XMLHttpRequest 对象来创建一种动态性极强的 web 界面:当您开始在 Google 的搜索框中输入查询时,JavaScript 会向某个服务器发出这些字词,然后服务器会返回一系列的搜索建议。
XMLHttpRequest 对象得到下列浏览器的支持:Internet Explorer 5.0+、Safari 1.2、Mozilla 1.0 / Firefox、Opera 8+ 以及 Netscape 7。
三 一个Ajax例子
index.html
<script> var xmlhttp; function submit(score){ if(window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { console.log(xmlhttp.responseText); } } xmlhttp.open("POST","ajax.php",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("fname=" + score); } submit(999); </script>
ajax.php
<?php echo $_POST[‘fname‘]; ?>
四 Egret中的egret.HttpRequest
官方Http的教程:http://edn.egret.com/cn/index.php/article/index/id/589
Get方式
var request: egret.HttpRequest; request = new egret.HttpRequest(); request.responseType = egret.HttpResponseType.TEXT; request.addEventListener(egret.Event.COMPLETE,this.onPostComplete,this); request.addEventListener(egret.IOErrorEvent.IO_ERROR,this.onPostIOError,this); this.request.open("http://www.xxxx.com?data=123" , egret.HttpMethod.GET);this.request.setRequestHeader("Content-type","application/x-www-form-urlencoded");this.request.send(); private onPostComplete(e:egret.Event):void{
var request = <egret.HttpRequest>event.currentTarget; egret.log("get data : ",request.response);
} private onPostIOError(e:egret.IOErrorEvent):void{ }
Post方式
var request: egret.HttpRequest; request = new egret.HttpRequest(); request.responseType = egret.HttpResponseType.TEXT; request.addEventListener(egret.Event.COMPLETE,this.onPostComplete,this); request.addEventListener(egret.IOErrorEvent.IO_ERROR,this.onPostIOError,this); this.request.open("http://www.xxxx.com" , egret.HttpMethod.POST); this.request.setRequestHeader("Content-type","application/x-www-form-urlencoded"); this.request.send( "p1=postP1&p2=postP2"); private onPostComplete(e:egret.Event):void{ var request = <egret.HttpRequest>event.currentTarget; egret.log("post data : ",request.response); } private onPostIOError(e:egret.IOErrorEvent):void{ }
五 Post和Get的区别
百度经验 get和post提交方式的区别 http://jingyan.baidu.com/article/d3b74d64abbd6b1f76e60947.html