ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery を使用せずに AngularJS で URL エンコードされたデータを POST する方法は?

jQuery を使用せずに AngularJS で URL エンコードされたデータを POST する方法は?

DDD
リリース: 2024-12-04 03:20:11
オリジナル
149 人が閲覧しました

How to POST URL-Encoded Data in AngularJS without jQuery?

jQuery を使用せずに $http を使用して URL エンコードされたデータを POST する

AngularJS 初心者として、あなたは、jQuery を使用せずに AJAX リクエストを行う方法を探しています。 jQueryに依存しています。 $.param を使用した最初のアプローチは機能しましたが、jQuery の依存関係を削除したいと考えています。

その後の data と params の試行は期待した結果を得ることができず、JSON 文字列化も失敗したことが判明しました。 AngularJS には確かにこのためのメソッドが用意されているので、その解決策を見てみましょう。

URL パラメータのデータの変換

POST 経由でフォーム データを送信するための鍵は、オブジェクトを変換することですデータを URL パラメータに変換します。 AngularJS は、送信前にリクエスト本文をカスタマイズできるtransformRequest 関数を提供します。

Transformation を使用した 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 () {});
ログイン後にコピー

この例では:

  • transformRequest 関数は、提供されたオブジェクトを反復処理し、各キーとvalue.
  • エンコードされたキーと値のペアは、アンパサンド (&) で区切られた単一の文字列に結合されます。

AngularJS 1.4 以降

AngularJS 1.4 以降では、これをさらに簡素化する新しいサービスが導入されました。 プロセス。ただし、上記のアプローチは以前のバージョンでも引き続き有効な解決策です。

以上がjQuery を使用せずに AngularJS で URL エンコードされたデータを POST する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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