資源描述:
《ajax js php應(yīng)用舉例》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、作者:NGKiller@Gmail.Com原創(chuàng)作品,這些是我自己的一些東東,對初學(xué)者也許有用。★Ajax-JS使用encodeURIComponent()函數(shù)來編碼一段文字(可以含特殊字符),然后在PHP端直接接收(不用任何解碼),這樣可以通過JS來編碼并POST給PHP腳本而不出現(xiàn)錯(cuò)誤注:經(jīng)測試英文、中文均可通過★Ajax-使用POST傳遞參數(shù)時(shí)記得:1.設(shè)置HTTP頭(使用setRequestHeader()函數(shù))2.設(shè)置傳遞參數(shù),在調(diào)用send()函數(shù)時(shí)代入?yún)?shù)★PHP-在更新數(shù)據(jù)時(shí),要加上單引號(hào):$name=$_REQUEST['name
2、'];$query="UPDATEtestSETtext='$name'WHEREid=1";//注意這兒要在$name上加上單引號(hào),否則出錯(cuò)★JS如何使用默認(rèn)參數(shù)(詳見:ECMAScript函數(shù))functiontep(){alert(arguments[0]+arguments[1]+arguments[2]);}tep('Hello','','world!');直接使用arguments[i]來調(diào)用參數(shù)即可。不能在函數(shù)的()括號(hào)中進(jìn)行賦值。在調(diào)用函數(shù)時(shí),參數(shù)要用''單綽號(hào)括起來,而在函數(shù)中時(shí)不要使用單引號(hào)?!颙SON數(shù)組從PHP->JSJS
3、ON數(shù)組中的鍵、值必須用雙引號(hào)括起來:"5":"five"PHP:$arr=array('1'=>'one','b'=>'two','III'=>3,'d'=>'four','5'=>'five');echojson_encode($arr);//結(jié)果為字符串:{"1":"one","b":"two","III":3,"d":"four","5":"five"}JS:varabc=JSON.parse(arr);for(ainabc){alert(a+':'+abc[a]);//顯示如:1:one,a為key(鍵),而abc[a]則為value(
4、值)}★JS中讀取一個(gè)數(shù)組的鍵、值(用for...in...即可)varb=[];b['one']='first';b['two']='second';for(ainb)alert(a+':'+b[a]);//顯示如:one:first★JSON數(shù)組從JS->PHPJS:vara=[],temp=[];a['one']='First';a[2]='Second';a['three']='Third';vari=0;for(sina){//使用for...in...可以把每個(gè)鍵、值都包含進(jìn)去temp[i]='"'+s+'":"'+a[s]+'"';
5、//結(jié)果如:"one":"First"i++;}//以上亦可用temp.push('"'+s+'":"'+a[s]+'"')把各值壓入temp中.這樣就不需要i值了.s='{'+temp.join(',')+'}';//使用數(shù)組的join()函數(shù)來生成JSON格式的字符串之后使用encodeURIComponent(s)發(fā)送給PHP端PHP:$arr=$_REQUEST['json'];if(get_magic_quotes_gpc()){//去掉字符串中間的符號(hào)$arr=stripslashes($arr);}$arr=json_decode
6、($arr);//這時(shí)就可以用json_decode()函數(shù)來生成PHP數(shù)組了foreach($arras$k=>$v)echo"$k=>$v";需要注意的就是,若PHP會(huì)自動(dòng)屏蔽可能造成數(shù)據(jù)溢出的特殊符號(hào),則要用get_magic_quotes_gpc()或者檢查magic_quotes_gpc的值(使用ini_get("magic_quotes_gpc")=="1"),然后刪除傳遞過來的字符串中的符號(hào)★PHP清空數(shù)組PHP中聲明數(shù)組時(shí)直接用$arr=array();清空數(shù)組時(shí)用同樣的方法即可:$arr=array();清空數(shù)組不能使用u
7、nset(),unset()是刪除數(shù)組。清空后還可以調(diào)用數(shù)組,但刪除后就不能使用數(shù)組了(會(huì)提示未定義的變量)?!颙S清空數(shù)組直接用[]即可:arr=[];★取得最新的數(shù)據(jù)在通過Ajax或者刷新PHP頁面時(shí),可以在PHP腳本文件名后面加一個(gè)無意義的隨機(jī)值,這樣就可以確保取得最新的數(shù)據(jù),進(jìn)行刷新.JS:varurl='ajax/send.php?sid='+Math.random();PHP中調(diào)用一樣,使用$sid=rand();★JS跳出執(zhí)行代碼/JS代碼停止執(zhí)行要在JS中停止執(zhí)行代碼,(函數(shù)中)直接加上returnfalse或者return就可以
8、了。★絕對唯一的值(用來標(biāo)示一個(gè)特定的ID時(shí)用到)絕對唯一的值就是時(shí)間.$tm=microtime(1);//或者microtime(t