angular的post传参后台php无法接收 - 范丁文
很多时候我们需要用ajax提交post数据,angularjs与jq类似,也有封装好的post。
但是jQuery的post明显比angularjs的要简单一些,人性化一些。
两者看起来没什么区别,用angularjs的$http提交的数据,在php服务器端却无法通过$_REQUEST/$_POST获取到。
这是因为两者的post对header的处理有所不同……jQuery会把作为JSON对象的myData序列化,而Angular不会。
解决方案:
修改Angular的$httpProvider的默认处理(最完美的解决方案)
angular.module('MyModule', [], <span style="color: #0000ff;">function</span><span style="color: #000000;">($httpProvider) { </span><span style="color: #008000;">//</span><span style="color: #008000;"> Use x-www-form-urlencoded Content-Type</span> $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'<span style="color: #000000;">; </span><span style="color: #008000;">/*</span><span style="color: #008000;">* * The workhorse; converts an object to x-www-form-urlencoded serialization. * @param {Object} obj * @return {String} </span><span style="color: #008000;">*/</span> <span style="color: #0000ff;">var</span> param = <span style="color: #0000ff;">function</span><span style="color: #000000;">(obj) { </span><span style="color: #0000ff;">var</span> query = ''<span style="color: #000000;">, name, value, fullSubName, subName, subValue, innerObj, i; </span><span style="color: #0000ff;">for</span>(name <span style="color: #0000ff;">in</span><span style="color: #000000;"> obj) { value </span>=<span style="color: #000000;"> obj[name]; </span><span style="color: #0000ff;">if</span>(value <span style="color: #0000ff;">instanceof</span><span style="color: #000000;"> Array) { </span><span style="color: #0000ff;">for</span>(i=0; i<value.length style="color: #000000;">i) { subValue =<span style="color: #000000;"> value[i]; fullSubName </span>= name + '[' + i + ']'<span style="color: #000000;">; innerObj </span>=<span style="color: #000000;"> {}; innerObj[fullSubName] </span>=<span style="color: #000000;"> subValue; query </span>+= param(innerObj) + '&'<span style="color: #000000;">; } } </span><span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span>(value <span style="color: #0000ff;">instanceof</span><span style="color: #000000;"> Object) { </span><span style="color: #0000ff;">for</span>(subName <span style="color: #0000ff;">in</span><span style="color: #000000;"> value) { subValue </span>=<span style="color: #000000;"> value[subName]; fullSubName </span>= name + '[' + subName + ']'<span style="color: #000000;">; innerObj </span>=<span style="color: #000000;"> {}; innerObj[fullSubName] </span>=<span style="color: #000000;"> subValue; query </span>+= param(innerObj) + '&'<span style="color: #000000;">; } } </span><span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span>(value !== undefined && value !== <span style="color: #0000ff;">null</span><span style="color: #000000;">) query </span>+= encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&'<span style="color: #000000;">; } </span><span style="color: #0000ff;">return</span> query.length ? query.substr(0, query.length - 1<span style="color: #000000;">) : query; }; </span><span style="color: #008000;">//</span><span style="color: #008000;"> Override $http service's default transformRequest</span> $httpProvider.defaults.transformRequest = [<span style="color: #0000ff;">function</span><span style="color: #000000;">(data) { </span><span style="color: #0000ff;">return</span> angular.isObject(data) && String(data) !== '[object File]' ?<span style="color: #000000;"> param(data) : data; }]; });</span></value.length>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML、CSS和JavaScript在Web開發中的作用分別是:1.HTML定義網頁結構,2.CSS控製網頁樣式,3.JavaScript添加動態行為。它們共同構建了現代網站的框架、美觀和交互性。

HTML的未來趨勢是語義化和Web組件,CSS的未來趨勢是CSS-in-JS和CSSHoudini,JavaScript的未來趨勢是WebAssembly和Serverless。 1.HTML的語義化提高可訪問性和SEO效果,Web組件提升開發效率但需注意瀏覽器兼容性。 2.CSS-in-JS增強樣式管理靈活性但可能增大文件體積,CSSHoudini允許直接操作CSS渲染。 3.WebAssembly優化瀏覽器應用性能但學習曲線陡,Serverless簡化開發但需優化冷啟動問題。

HTML的未來充滿了無限可能。 1)新功能和標準將包括更多的語義化標籤和WebComponents的普及。 2)網頁設計趨勢將繼續向響應式和無障礙設計發展。 3)性能優化將通過響應式圖片加載和延遲加載技術提升用戶體驗。

HTML、CSS和JavaScript在網頁開發中的角色分別是:HTML負責內容結構,CSS負責樣式,JavaScript負責動態行為。 1.HTML通過標籤定義網頁結構和內容,確保語義化。 2.CSS通過選擇器和屬性控製網頁樣式,使其美觀易讀。 3.JavaScript通過腳本控製網頁行為,實現動態和交互功能。

HTML是構建網頁結構的基石。 1.HTML定義內容結構和語義,使用、、等標籤。 2.提供語義化標記,如、、等,提升SEO效果。 3.通過標籤實現用戶交互,需注意表單驗證。 4.使用、等高級元素結合JavaScript實現動態效果。 5.常見錯誤包括標籤未閉合和屬性值未加引號,需使用驗證工具。 6.優化策略包括減少HTTP請求、壓縮HTML、使用語義化標籤等。

HTML的作用是通過標籤和屬性定義網頁的結構和內容。 1.HTML通過到、等標籤組織內容,使其易於閱讀和理解。 2.使用語義化標籤如、等增強可訪問性和SEO。 3.優化HTML代碼可以提高網頁加載速度和用戶體驗。

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增強WebevebDevelopment。
