在AngularJS 中使用$http 發布URL 編碼的表單資料
使用AngularJS 時,開發人員經常面臨對遠端進行AJAX 調用的任務伺服器。為了發送參數,已經探索了多種方法。
一種方法涉及使用 jQuery 的 $.param() 函數。然而,為了消除 jQuery 依賴,我們考慮了其他幾個選項,包括將資料作為物件傳遞、使用 params 以及利用 JSON.stringify。
解決方案在於將傳出請求資料從物件轉換為 URL參數。 AngularJS 預設將資料序列化為 JSON 以便發布。要以 FORM 帖子形式發布,必須更改序列化演算法,並且內容類型必須設定為“application/x-www-form-urlencoded”。
以下修改後的程式碼示範如何執行此操作:
$http({ method: 'POST', url: url, headers: {'Content-Type': 'application/x-www-form-urlencoded'}, transformRequest: function(obj) { var str = []; for(var p in obj) str.push(encodeURIComponent(p) + "&" + encodeURIComponent(obj[p])); return str.join("&"); }, data: {username: $scope.userName, password: $scope.password} }).then(function () {});
如需進一步指導,請參閱 Ben Nadel 的部落格或上面提供的範例。
以上是如何在 AngularJS 中使用 $http 發布 URL 編碼的表單資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!