


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第AngularJS與后端php的數(shù)據(jù)交互方法簡(jiǎn)述:
AngularJS誕生于2009年,由MiskoHevery等人創(chuàng)建,后為Google所收購(gòu)。是一款優(yōu)秀的前端JS框架,已經(jīng)被用于Google的多款產(chǎn)品當(dāng)中。AngularJS有著諸多特性,最為核心的是:MVC、模塊化、自動(dòng)化雙向數(shù)據(jù)綁定、語義化標(biāo)簽、依賴注入等等。
它不僅僅是一個(gè)類庫,而是提供了一個(gè)完整的框架。它避免了您和多個(gè)類庫交互,需要熟悉多套接口的繁瑣工作。它由GoogleChrome的開發(fā)人員設(shè)計(jì),引領(lǐng)著下一代Web應(yīng)用開發(fā)。也許我們5年或10年后不會(huì)使用AngularJS,但是它的設(shè)計(jì)精髓將會(huì)一直被沿用。
問題及方案:
既然是前端框架,就免不了與后臺(tái)的數(shù)據(jù)交互。本文講解與PHP數(shù)據(jù)交互中的重點(diǎn)。
AngularJS的$http不管你使用的是POST還是PUT,默認(rèn)的發(fā)送和請(qǐng)求數(shù)據(jù)格式都是json的,這個(gè)我們可以從它發(fā)送的http請(qǐng)求頭中看到:Content-Type:application/json;charset=UTF-8。而PHP的GET或者POST接收的http請(qǐng)求數(shù)據(jù)卻是:Content-Type:application/x-www-form-urlencoded;charset=UTF-8。
所以新手在使用AngularJS時(shí)候都會(huì)遇到這個(gè)問題,明明發(fā)送過來了,為什么我收不到數(shù)據(jù)?解決這個(gè)問題我們可以從兩個(gè)方面入手:
一、在PHP中
$data=file_get_contents("php://input");
echo$data;
這樣你會(huì)發(fā)現(xiàn)。$data是一個(gè)json數(shù)據(jù),之后PHP中你便可以對(duì)這個(gè)數(shù)據(jù)做其他處理了。
二、Angular中重構(gòu)http請(qǐng)求
varws=angular.module("app",[function($httpProvider){
$httpProvider.defaults.headers.post["Content-Type"]="application/x-www-form-urlencoded;charset=utf-8";
$httpProvider.defaults.headers.put['Content-Type']='application/x-www-form-urlencoded;charset=utf-8';
varparam=function(obj){
varquery="",name,value,fullSubName,subName,subValue,innerObj,i;
for(nameinobj){
value=obj[name];
if(valueinstanceofArray){
for(i=0;ivalue.length;++i){
subValue=value[i];
fullSubName=name+"["+i+"]";
innerObj={};
innerObj[fullSubName]=subValue;
query+=param(innerObj)+"
}elseif(valueinstanceofObject){
for(subNameinvalue){
subValue=value[subName];
fullSubName=name+"["+subName+"]";
innerObj={};
innerObj[fullSubName]=subValue;
query+=param(innerObj)+"
}elseif(value!==undefinedvalue!==null){
query+=encodeURIComponent(name)+"="+encodeURIComponent(value)+"
returnquery.lengthquery.substr(0,query.length-1):query;
$httpProvider.defaults.transformRequest=[function(data){
returnangular.isObject(data)String(data)!=="[objectFile]"param(data):data;
}]);
在構(gòu)建app時(shí)直接重寫$h
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 溫州職業(yè)技術(shù)學(xué)院《證券投資分析實(shí)驗(yàn)實(shí)驗(yàn)教學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴州盛華職業(yè)學(xué)院《Internet協(xié)議原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢工貿(mào)職業(yè)學(xué)院《核輻射測(cè)量方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 安徽農(nóng)業(yè)大學(xué)《參數(shù)估計(jì)與系統(tǒng)辨識(shí)》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津外國(guó)語大學(xué)濱海外事學(xué)院《身邊的化學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州旅游職業(yè)學(xué)院《流體機(jī)械CAD》2023-2024學(xué)年第二學(xué)期期末試卷
- 駐馬店幼兒師范高等??茖W(xué)校《乳液聚合》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南工業(yè)大學(xué)《第四紀(jì)地質(zhì)與地貌學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京師范大學(xué)中北學(xué)院《電視節(jié)目策劃與編導(dǎo)》2023-2024學(xué)年第二學(xué)期期末試卷
- 暨南大學(xué)《三維技術(shù)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 秸稈買賣協(xié)議書模板
- 人教版小學(xué)二年級(jí)下冊(cè)數(shù)學(xué) 第6單元 第6課時(shí) 解決問題(2) 課件
- 2024年延安通和電業(yè)有限責(zé)任公司招聘考試真題
- 2025年中國(guó)礦山支護(hù)設(shè)備行業(yè)市場(chǎng)規(guī)模及投資前景預(yù)測(cè)分析報(bào)告
- 新形勢(shì)下如何抓好“兩個(gè)經(jīng)常性”工作
- 監(jiān)控立桿采購(gòu)合同協(xié)議
- 貼改色膜合同協(xié)議
- 清理罐車合同協(xié)議
- 電工比武大賽試題及答案
- 郵政儲(chǔ)蓄大堂引導(dǎo)員培訓(xùn)
- 社工小組協(xié)議書范例
評(píng)論
0/150
提交評(píng)論