ホームページ > ウェブフロントエンド > jsチュートリアル > AngularJS で $http を使用して URL エンコードされたフォーム データを POST する方法

AngularJS で $http を使用して URL エンコードされたフォーム データを POST する方法

Mary-Kate Olsen
リリース: 2024-12-24 13:15:13
オリジナル
810 人が閲覧しました

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

AngularJS で $http を使用して URL エンコードされたフォーム データを POST する

AngularJS を使用する場合、開発者はリモートへの AJAX 呼び出しを行うタスクに直面することがよくあります。サーバー。パラメータを送信するには、さまざまな方法が検討されています。

1 つの方法では、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 エンコードされたフォーム データを POST する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート