[解決済み] jQueryなしで$httpでurlencodedフォームデータをPOSTするにはどうすればよいですか?
2022-04-15 10:12:31
質問
私はAngularJSの初心者ですが、手始めにAngularJSだけを使って新しいアプリケーションを開発しようと思っています。
サーバーサイドにAJAXで呼び出そうとしている。
$http
をAngularアプリから実行します。
パラメータの送信は、以下を試してみました。
$http({
method: "post",
url: URL,
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
data: $.param({username: $scope.userName, password: $scope.password})
}).success(function(result){
console.log(result);
});
これは動作していますが、jQueryを同様に以下の場所で使用しています。
$.param
. jQueryへの依存をなくすために、試してみました。
data: {username: $scope.userName, password: $scope.password}
が、これは失敗したようです。そこで
params
:
params: {username: $scope.userName, password: $scope.password}
が、これも失敗したようです。そこで
JSON.stringify
:
data: JSON.stringify({username: $scope.userName, password: $scope.password})
私の探求にこれらの可能な答えを見つけたが、失敗した。私は何か間違ったことをしているのでしょうか?AngularJSがこの機能を提供することは確かですが、どのように提供するのでしょうか?
解決方法は?
オブジェクトからJSON文字列に変換するのではなく、urlパラメータに変換する必要があるのではないでしょうか。
デフォルトでは、$http サービスは、送信するリクエストを データをJSONとしてシリアライズし、content-を付けて投稿します。 タイプ、"application/json" を使用します。この値を FORM を投稿する場合、シリアライズアルゴリズムを変更し、データを投稿する必要があります。 で、content-type は "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 () {});
アップデイト
AngularJS V1.4で追加された新サービスを利用するには
関連
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] jQueryで入力を無効化/有効化する?
-
[解決済み] jQueryを使用しない$(document).ready相当
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JSアレイループと効率解析の比較
-
HTML+CSS+JavaScriptで簡単な三目並べゲームを作成する。
-
vue+webrtc(Tencent cloud)ライブ機能の実践を実現するために
-
JavaScriptの配列共通メソッド解説
-
Vueでルートネスティングを実装する例
-
[解決済み] テスト
-
[解決済み】awaitは非同期関数でのみ有効です。
-
[解決済み】「X-Frame-Options」を「SAMEORIGIN」に設定したため、フレームでの表示を拒否された。
-
HTML5 LocalStorage ローカルストレージとセッションストレージの使用法
-
フロントエンド null のプロパティ 'disabled' を読み取れない 問題が解決された