php學習筆記(三十一)自訂ajax對象,簡化ajax應用

來源:互聯網
上載者:User

ajax.js

function Ajax(recvType){var ajax = new Object();//判斷是html還是xmlajax.recvType = recvType?recvType.toUpperCase():"HTML";ajax.targetUrl = '';ajax.sendString = '';ajax.resultHandle = '';ajax.createXMLHTTPRequest = function(){    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.XMLHttpRequest = ajax.createXMLHTTPRequest();ajax.processHandle = function(){if (ajax.XMLHttpRequest.readyState==4) {if (ajax.XMLHttpRequest.status==200) {if (ajax.recvType=="HTML") {ajax.resultHandle(ajax.XMLHttpRequest.responseText);}else if(ajax.recvType=="XML") {ajax.resultHandle(ajax.XMLHttpRequest.responseXML);}}}};ajax.get = function(targetUrl,resultHandle){ajax.targetUrl = targetUrl;if (resultHandle!=null) {ajax.XMLHttpRequest.onreadystatechange = ajax.processHandle;ajax.resultHandle = resultHandle;}if (window.XMLHttpRequest) {ajax.XMLHttpRequest.open("get",ajax.targetUrl);ajax.XMLHttpRequest.send(null);}else{ajax.XMLHttpRequest.open("get",ajax.targetUrl,true);ajax.XMLHttpRequest.send();}};ajax.post = function(targetUrl,sendString,resultHandle){ajax.targetUrl = targetUrl;if (typeof(sendString)=="object") {var str = "";for (var pro in sendString) {str+=pro+"="+sendString[pro]+"&";}ajax.sendString=str.substring(0, str.length-1);}else{ajax.sendString=sendString;}if (resultHandle!=null) {ajax.XMLHttpRequest.onreadystatechange = ajax.processHandle;ajax.resultHandle = resultHandle;}ajax.XMLHttpRequest.open("post",ajax.targetUrl,true);ajax.XMLHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");ajax.XMLHttpRequest.send(ajax.sendString);};return ajax;}

ajaxObj.php

<?php/** * 自訂ajax對象,簡化ajax應用 *  * var arr = ["aa","bb","cc","dd"]; * var obj = {name:"sa",age:10,sex:"man"}; * alert(obj.name); */?><script src="ajax.js"></script><script>var ajax = Ajax();//ajax.get("serverget.php?username=zhangsan&email=devilzy@163.com×tamp="+Math.random(),function(data){//alert(data);});//ajax.post("serverpost.php","username=list&email=devilzy@163.com×tamp="+Math.random(),function(data){//alert(data);});ajax.post("serverpost.php",{username:"sans",email:"sdfjksdl@173"},function(data){alert(data);});</script>

get

<?php$str = "{$_GET["username"]}---{$_GET["email"]}---\n";//$file = fopen("saveget.txt", "a");//fwrite($file, $str);//$file.close();echo $str;?>

post

<?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;echo $str;?>


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.