ホームページ >ウェブフロントエンド >jsチュートリアル >AngularJS で $http を使用して URL エンコードされたフォーム データを POST する方法
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 サイトの他の関連記事を参照してください。