理解問題
理解問題理解問題
By default, the $http service will transform the outgoing request by serializing the data as JSON and then posting it with the content-type, "application/json". When we want to post the value as a FORM post, we need to change the serialization algorithm and post the data with the content-type, "application/x-www-form-urlencoded".
解決方案
要解決此問題,您需要將資料轉換為 URL參數而不是 JSON 字串。 Ben Nadel 在他的部落格中解釋了這一點:$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 () {});
範例
這是一個範例,如何使用$http:$http({ method: 'POST', url: url, headers: {'Content-Type': 'application/x-www-form-urlencoded'}, transformRequest: $httpParamSerializer });
以上是如何使用 AngularJS 的 $http 服務發布 URL 編碼的表單資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!