首頁 > web前端 > js教程 > 如何使用 AngularJS 的 $http 服務發布 URL 編碼的表單資料?

如何使用 AngularJS 的 $http 服務發布 URL 編碼的表單資料?

Linda Hamilton
發布: 2024-12-11 05:16:11
原創
961 人瀏覽過

How to POST URL-Encoded Form Data with AngularJS's $http Service?

在AngularJS 中使用$http 發布URL 編碼的表單數據

理解問題

理解問題

理解問題

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".
登入後複製
作為用戶,您在使用$http 服務向伺服器發送資料時遇到了挑戰。具體來說,您在嘗試以 URL 編碼格式傳送資料時遇到了問題。

解決方案

要解決此問題,您需要將資料轉換為 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
});
登入後複製
發布URL編碼的表單資料AngularJS v1.4和的更新稍後對於 AngularJS v1.4 及更高版本,您可以利用可用的新服務來實現相同的結果:

以上是如何使用 AngularJS 的 $http 服務發布 URL 編碼的表單資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板