很多時候我們需要用ajax提交post數據,angularjs與jq類似,也有封裝好的post。
但是jQuery的post明顯比angularjs的要簡單一些,人性化一些。
AngularJS:
jQuery:
看起來沒什麼差別吧?可是,用angularjs的$http提交的數據,在php伺服器端卻無法透過$_REQUEST/$_POST取得到,而需要用:
來取得。什麼原因呢?
這是因為兩者的post對header的處理有所不同…jQuery會把當作JSON物件的myData序列化,例如:
而Angular不會。
解決方案是什麼?
1.引入jquery,前提是目標使用者不介意多載入一個幾十K的腳本。 (不建議)
2.在伺服器端(PHP)透過 $params = json_decode(file_get_contents('php://input'),true); 取得參數,小專案可以,大專案要一個一個改變。 (不建議)
3.修改Angular的$httpProvider的預設處理:http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/ (為了方便以後的管理,這是最好的方法)
小夥伴們是否對AngularJS中的$http.post與jQuery.post的區別有了進一步的認識了呢,希望大家讀完本文能夠有所得。