在不使用jQuery 的情況下使用$http 發布URL 編碼資料
作為AngularJS 新手,您正在尋找一種無需使用jQuery即可發出AJAX 請求的方法依賴jQuery。雖然您最初使用 $.param 的方法有效,但您希望消除 jQuery 依賴項。
您隨後對資料和參數的嘗試未能產生所需的結果,並且 JSON 字串化也被證明是不成功的。 AngularJS 當然為此提供了一種方法,所以讓我們來探索一下解決方案。
轉換 URL 參數的資料
透過 POST 發送表單資料的關鍵是轉換你的物件資料到 URL 參數。 AngularJS 提供了一個transformRequest 函數,可讓您在傳送之前自訂請求正文。
帶有轉換的Post 請求範例
$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 () {});
在此範例中:
AngularJS 1.4 及更高版本
AngularJS 1.4 及更高版本引入了新服務來進一步簡化此過程。然而,上述方法對於早期版本仍然是有效的解決方案。
以上是如何在沒有 jQuery 的情況下在 AngularJS 中發布 URL 編碼的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!