php與ajax一些經(jīng)驗(yàn)
更新時(shí)間:2006年11月19日 00:00:00 作者:
ajax不用多說(shuō)了,就是一個(gè)異步回調(diào)的方法!
并且與服務(wù)器端的傳輸方式有用GET或POST等
我這里說(shuō)的是當(dāng)傳送xml或json數(shù)據(jù)時(shí),
PHP與其他服務(wù)器端語(yǔ)言不同之處在于,他將請(qǐng)求的數(shù)據(jù)封裝到了服務(wù)器變量中(可能說(shuō)的不對(duì))
這樣對(duì)于使用者,可以很簡(jiǎn)單的就取得GET或POST的值
但是,當(dāng)直接發(fā)送xml或json時(shí),應(yīng)該是一個(gè)數(shù)據(jù)流的形式發(fā)送到服務(wù)器!
但是PHP表面上并沒(méi)有接收數(shù)據(jù)流的函數(shù)。這個(gè)問(wèn)題困擾許久。
(其他的語(yǔ)言,如asp/jsp都可以通過(guò)request組件接收數(shù)據(jù)流)
經(jīng)過(guò)在網(wǎng)上查詢以及查看一些例子,終于發(fā)現(xiàn)了解決辦法?。?
原來(lái)php是可以獲得傳輸過(guò)來(lái)的數(shù)據(jù)流??!
$input = file_get_contents('php://input');
以上代碼就可以獲得一個(gè)post過(guò)來(lái)的數(shù)據(jù)流,至于內(nèi)容,就要看發(fā)送的數(shù)據(jù)了,可能只是文本,也可能是二進(jìn)制
file_get_contents函數(shù)可以在php4.3.0以后使用??!
這樣困擾許久問(wèn)題解決了??!。
在發(fā)現(xiàn)使用php://input可以獲得一個(gè)數(shù)據(jù)流,是不是可以發(fā)送一個(gè)輸出流呢!答案是肯定的!
使用file_put_contents函數(shù)
file_get_contents('php://output',$input);
這樣,剛提交過(guò)來(lái)的信息,就會(huì)輸出到網(wǎng)頁(yè)上??!和echo及print差不多吧!!
但是file_get_contents只能在php5后使用!!
現(xiàn)在的ajax框架越來(lái)越多,并且每種框架中使用的傳送格式,也不一樣??!框架只在于讓我使用更加簡(jiǎn)單,提高開(kāi)發(fā)效率!
并且本身封裝了一個(gè)底層的原理!!如果要學(xué)的更深,更加透徹,應(yīng)該撥開(kāi)表面,了解本質(zhì)的東西,這樣就才能以不變應(yīng)萬(wàn)變!
好久沒(méi)發(fā)貼子了?。∫恢痹谔嫠?,以上是最近的工作經(jīng)驗(yàn)??!
并且與服務(wù)器端的傳輸方式有用GET或POST等
我這里說(shuō)的是當(dāng)傳送xml或json數(shù)據(jù)時(shí),
PHP與其他服務(wù)器端語(yǔ)言不同之處在于,他將請(qǐng)求的數(shù)據(jù)封裝到了服務(wù)器變量中(可能說(shuō)的不對(duì))
這樣對(duì)于使用者,可以很簡(jiǎn)單的就取得GET或POST的值
但是,當(dāng)直接發(fā)送xml或json時(shí),應(yīng)該是一個(gè)數(shù)據(jù)流的形式發(fā)送到服務(wù)器!
但是PHP表面上并沒(méi)有接收數(shù)據(jù)流的函數(shù)。這個(gè)問(wèn)題困擾許久。
(其他的語(yǔ)言,如asp/jsp都可以通過(guò)request組件接收數(shù)據(jù)流)
經(jīng)過(guò)在網(wǎng)上查詢以及查看一些例子,終于發(fā)現(xiàn)了解決辦法?。?
原來(lái)php是可以獲得傳輸過(guò)來(lái)的數(shù)據(jù)流??!
$input = file_get_contents('php://input');
以上代碼就可以獲得一個(gè)post過(guò)來(lái)的數(shù)據(jù)流,至于內(nèi)容,就要看發(fā)送的數(shù)據(jù)了,可能只是文本,也可能是二進(jìn)制
file_get_contents函數(shù)可以在php4.3.0以后使用??!
這樣困擾許久問(wèn)題解決了??!。
在發(fā)現(xiàn)使用php://input可以獲得一個(gè)數(shù)據(jù)流,是不是可以發(fā)送一個(gè)輸出流呢!答案是肯定的!
使用file_put_contents函數(shù)
file_get_contents('php://output',$input);
這樣,剛提交過(guò)來(lái)的信息,就會(huì)輸出到網(wǎng)頁(yè)上??!和echo及print差不多吧!!
但是file_get_contents只能在php5后使用!!
現(xiàn)在的ajax框架越來(lái)越多,并且每種框架中使用的傳送格式,也不一樣??!框架只在于讓我使用更加簡(jiǎn)單,提高開(kāi)發(fā)效率!
并且本身封裝了一個(gè)底層的原理!!如果要學(xué)的更深,更加透徹,應(yīng)該撥開(kāi)表面,了解本質(zhì)的東西,這樣就才能以不變應(yīng)萬(wàn)變!
好久沒(méi)發(fā)貼子了?。∫恢痹谔嫠?,以上是最近的工作經(jīng)驗(yàn)??!
您可能感興趣的文章:
- PHP開(kāi)發(fā)大型項(xiàng)目的一點(diǎn)經(jīng)驗(yàn)
- PHP開(kāi)發(fā)框架總結(jié)收藏
- PHP開(kāi)發(fā)的一些注意點(diǎn)總結(jié)
- PHP中MVC模式的模板引擎開(kāi)發(fā)經(jīng)驗(yàn)分享
- 有關(guān)PHP中MVC的開(kāi)發(fā)經(jīng)驗(yàn)分享
- 初步介紹PHP擴(kuò)展開(kāi)發(fā)經(jīng)驗(yàn)分享
- 基于PHP導(dǎo)出Excel的小經(jīng)驗(yàn) 完美解決亂碼問(wèn)題
- php小經(jīng)驗(yàn):解析preg_match與preg_match_all 函數(shù)
- PHP開(kāi)發(fā)框架Laravel數(shù)據(jù)庫(kù)操作方法總結(jié)
- PHP開(kāi)發(fā)注意事項(xiàng)總結(jié)
相關(guān)文章
Ajax校驗(yàn)是否重復(fù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Ajax校驗(yàn)是否重復(fù)的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03
給Ajax返回的HTML標(biāo)簽動(dòng)態(tài)添加樣式的方法
這篇文章主要介紹了給Ajax返回的HTML標(biāo)簽動(dòng)態(tài)添加樣式的方法,需要的朋友可以參考下2017-04-04
關(guān)于ajax的使用方法_例題、ajax的數(shù)據(jù)處理
下面小編就為大家?guī)?lái)一篇關(guān)于ajax的使用方法_例題、ajax的數(shù)據(jù)處理。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
用AJAX實(shí)現(xiàn)頁(yè)面登陸以及注冊(cè)用戶名驗(yàn)證的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇用AJAX實(shí)現(xiàn)頁(yè)面登陸以及注冊(cè)用戶名驗(yàn)證的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
ajax實(shí)現(xiàn)服務(wù)器與瀏覽器長(zhǎng)連接的功能
這篇文章主要介紹了ajax實(shí)現(xiàn)服務(wù)器與瀏覽器長(zhǎng)連接的功能的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-04-04
Ajax實(shí)現(xiàn)省市區(qū)三級(jí)級(jí)聯(lián)(數(shù)據(jù)來(lái)自mysql數(shù)據(jù)庫(kù))
這篇文章主要為大家詳細(xì)介紹了Ajax實(shí)現(xiàn)省市區(qū)三級(jí)級(jí)聯(lián),數(shù)據(jù)來(lái)自mysql數(shù)據(jù)庫(kù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09

