<?php/** * 一、Ajax的介紹和優點 * XMLHttpRequest * * 二、建立ajax建立對象(需要多瀏覽器支援) * 建立過程複雜,但是代碼相對固定 * 要相容各個瀏覽器 * 1.ie系列 * 2.非ie系列的瀏覽器 * * 三、ajax引擎對象中的方法(使用ajax請求伺服器) * abort停止當前請求 * getAllResponseHeaders返回完整的headers * getResponseHeader返回單個的header標籤 * open("method","url",true) * send("content")發送請求 * * 四、通過ajax擷取伺服器發送的資料(通過ajxa的屬性實現) * ajax.onreadystatechange * 0Uninitialized初始化狀態。XMLHttpRequest 對象已建立或已被 abort() 方法重設。 * 1Open open() 方法已調用,但是 send() 方法未調用。請求還沒有被發送。 * 2Send Send() 方法已調用,HTTP 要求已發送到 Web 服務器。未接收到響應。 * 3Receiving 所有回應標頭部都已經接收到。響應體開始接收但未完成。 * 4Loaded HTTP 響應已經完全接收。 * */?><script>function createXMLHttpRequest(){ var request = false; //一般先判斷非IE瀏覽器 //window對象中有XMLHttpRequest存在就是非IE,包括(IE7,IE8) if(window.XMLHttpRequest){ request=new XMLHttpRequest();//非IE以及IE7,IE8瀏覽器 if(request.overrideMimeType){ request.overrideMimeType("text/xml");//重設mime類型 } //window對象中有ActiveXObject屬性存在就是IE瀏覽器的低版本 }else if(window.ActiveXObject){ var versions=['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];//各種IE瀏覽器建立Ajax對象時傳遞的參數 for(var i=0; i<versions.length; i++){ try{ request=new ActiveXObject(versions[i]);//各個IE瀏覽器版本的參數不同 if(request){ return request; } }catch(e){ request=false; } } } return request;}//注意:必須把建立ajax對象的代碼放在show 函數裡,確保每次點擊的時候都建立一個新的ajax對象。var ajax = null;function show(){var helloObj = document.getElementById("hello");ajax = createXMLHttpRequest();//ajax監聽請求狀態改變事件ajax.onreadystatechange = function(){if(ajax.readyState==4){if(ajax.status==200){//1.訪問php檔案//擷取伺服器輸出的文本var data = ajax.responseText;alert(data+"aaaaaa"+ajax.status);helloObj.innerHTML = data;//json轉成對象eval("var obj="+data);alert(obj.one);alert(obj.two);alert(obj.three);//2.訪問xml檔案(返回的是文檔document對象)var doc = ajax.responseXML;var users = doc.getElemnetsByTagName("user");}else{alert("頁面請求失敗"+ajax.status);}}}//open三個參數:方法,位置,非同步傳輸//使用get方法//ajax.open("get","serverget.php?username=zhangsan&email=devilzy@163.com×tamp="+Math.random(),true);//傳遞參數//ajax.send(null);//使用post需要設定頭資訊ajax.open("post","serverpost.php",true);ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");ajax.send("username=lisi&email=lisi@163.com×tamp="+Math.random());}</script><input type="button" onclick="show()" value="request"><div id="hello" style="width: 500px;height: 100px;"></div><form action="serverpost.php" method="post"></form>
<?php$str = "{$_GET["username"]}---{$_GET["email"]}---\n";$file = fopen("saveget.txt", "a");fwrite($file, $str);$file.close();?>
<?php//用來解決中文亂碼問題//header("Content-Type:text/html;charset=utf-8");$str = "{$_POST["username"]}---{$_POST["email"]}---\n";//$file = fopen("savepost.txt", "a");//fwrite($file, $str);//$file.close();//多個字串會當成一個字串來處理//echo $str."我的啊";//echo $str."******";//所以可以寫入一個數組中$arr = array("one"=>1,"two"=>2,"three"=>3);//轉換成json$json = json_encode($arr);echo $json;?>