Nasıl AngularJS $http urlencoded form verilerini göndermek için ne yapmalıyım?
angularJS
, Yeni duyuyorum ve bir başlangıç için, yeni bir uygulama sadece AngularJS
kullanmayı düşündüm.
Sunucu tarafı için AJAX
bir ara, Açısal benim App $http
kullanarak yapmaya çalışıyorum.
Parametreleri göndermek için, aşağıdaki denedim:
$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);
});
Bu çalışıyor ama, o kadar iyi jQuery
kullanıyor$.param
. Denedim jQuery
, bağımlılığı kaldırmak için,
data: {username: $scope.userName, password: $scope.password}
Ama bu başarısız görünüyordu. O zaman params
denedim:
params: {username: $scope.userName, password: $scope.password}
Ama bu da başarısız görünüyordu. Sonra JSON.stringify
denedim:
data: JSON.stringify({username: $scope.userName, password: $scope.password})
Görevim bu cevabı buldum, ancak başarısız oldu. Ben yanlış bir şey yapıyorum.? Eminim, AngularJS, bu işlevselliği sağlamak. Ama nasıl.?
CEVAP
Yapmanız gereken bence url parametreler için JSON dize değil, ama nesne verilerinizi dönüştürmek için.
Varsayılan olarak, $http servisi giden istek dönüştürecek ve sonra da verileri ile göndermeden içerik olarak JSON seri hale getirilirken yazın, "". application/json Bir FORM olarak değerini post etmek istediğimizde post, seri hale getirme algoritması değiştirmek ve veri göndermek için ihtiyacımız var içerik türü "uygulama/x-www-form-urlencoded".
Örnek from here.
$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}
}).success(function () {});
Ruby: parçalı olarak HTTP üzerinden bi...
Nasıl bir başlık curl çağrısı ile bir ...
Nasıl önbellek için bir http angularjs...
Nasıl bir form PhantomJS kullanarak gö...
Nasıl KOYDU göndermek için, HttpURLCon...