Rumah > hujung hadapan web > tutorial js > Bagaimana untuk MENYIASKAN Data Borang Dikodkan URL dengan Perkhidmatan $http AngularJS?

Bagaimana untuk MENYIASKAN Data Borang Dikodkan URL dengan Perkhidmatan $http AngularJS?

Linda Hamilton
Lepaskan: 2024-12-11 05:16:11
asal
964 orang telah melayarinya

How to POST URL-Encoded Form Data with AngularJS's $http Service?

Menyiarkan Data Borang Diekodkan URL dengan $http dalam AngularJS

Memahami Isu

Sebagai pengguna AngularJS baharu, anda menghadapi cabaran semasa menghantar data ke pelayan menggunakan perkhidmatan $http. Khususnya, anda menghadapi masalah semasa cuba menghantar data dalam format yang dikodkan URL.

Penyelesaian

Untuk menyelesaikan masalah ini, anda perlu menukar data anda kepada URL parameter dan bukannya rentetan JSON. Ben Nadel menerangkan perkara ini dalam blognya:

By default, the $http service will transform the outgoing request by serializing the data as JSON and then posting it with the content-type, "application/json". When we want to post the value as a FORM post, we need to change the serialization algorithm and post the data with the content-type, "application/x-www-form-urlencoded".
Salin selepas log masuk

Contoh

Berikut ialah contoh yang menunjukkan cara menyiarkan data borang yang dikodkan URL menggunakan $http:

$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 () {});
Salin selepas log masuk

Kemas kini untuk AngularJS v1.4 dan Kemudian

Untuk AngularJS v1.4 dan lebih baru, anda boleh memanfaatkan perkhidmatan baharu yang tersedia untuk mencapai hasil yang sama:

$http({
    method: 'POST',
    url: url,
    headers: {'Content-Type': 'application/x-www-form-urlencoded'},
    transformRequest: $httpParamSerializer
});
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk MENYIASKAN Data Borang Dikodkan URL dengan Perkhidmatan $http AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan