Menyiarkan Data Borang Dikodkan URL dengan $http dalam AngularJS
Apabila bekerja dengan AngularJS, pembangun sering menghadapi tugas membuat panggilan AJAX ke jauh pelayan. Untuk menghantar parameter, pelbagai pendekatan telah diterokai.
Satu kaedah melibatkan penggunaan fungsi $.param() jQuery. Walau bagaimanapun, untuk menghapuskan pergantungan jQuery, beberapa pilihan lain telah dipertimbangkan, termasuk menghantar data sebagai objek, menggunakan params dan menggunakan JSON.stringify.
Penyelesaian terletak pada mengubah data permintaan keluar daripada objek kepada URL parameter. AngularJS secara lalai menyerikan data sebagai JSON untuk disiarkan. Untuk menyiarkan sebagai siaran FORM, algoritma bersiri mesti ditukar dan jenis kandungan mesti ditetapkan kepada "application/x-www-form-urlencoded."
Kod diubah suai berikut menunjukkan cara untuk melakukannya:
$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 () {});
Untuk panduan lanjut, rujuk blog Ben Nadel atau contoh yang disediakan di atas.
Atas ialah kandungan terperinci Bagaimana untuk MENYATAKAN Data Borang Dikodkan URL Menggunakan $http dalam AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!