Menyiarkan Data Berkod URL dengan $http tanpa jQuery
Sebagai pemula AngularJS, anda sedang mencari cara untuk membuat permintaan AJAX tanpa bergantung pada jQuery. Walaupun pendekatan awal anda dengan $.param berjaya, anda ingin menghapuskan kebergantungan jQuery.
Percubaan seterusnya anda dengan data dan param gagal menghasilkan hasil yang diingini, dan rentetan JSON terbukti tidak berjaya juga. AngularJS pastinya menawarkan kaedah untuk ini, jadi mari kita terokai penyelesaiannya.
Mengubah Data untuk Parameter URL
Kunci untuk menghantar data borang melalui POST ialah mengubah objek anda data ke dalam parameter URL. AngularJS menyediakan fungsi transformRequest yang membolehkan anda menyesuaikan badan permintaan sebelum menghantarnya.
Contoh Permintaan Pos dengan Transformasi
$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 () {});
Dalam contoh ini:
AngularJS 1.4 dan Beyond
Dengan AngularJS 1.4 dan lebih baru, perkhidmatan baharu telah diperkenalkan untuk memudahkan lagi proses ini. Walau bagaimanapun, pendekatan di atas kekal sebagai penyelesaian yang sah untuk versi terdahulu.
Atas ialah kandungan terperinci Bagaimana untuk POST Data Dikodkan URL dalam AngularJS tanpa jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!