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

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

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-24 13:15:13810瀏覽

How to POST URL-Encoded Form Data Using $http in AngularJS?

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn