实际上我正在关注一个春季教程..来到Angularjs,他正在使用.succes
var app=angular.module("MyApp",[]);
.controller("MyController",function($scope,$http){
$scope.pageProduits=null;
$http.get("http://localhost:8080/chercherProduits?mc")
.success(function(data){
$scope.pageProduits=data;
})
.error(function(err){
console.log(err);
});
});
现在我的问题是成功无效并且在搜索之后我发现.success和.error方法已被弃用并已从AngularJS 1.6中删除。我必须使用标准的.then方法。 有人可以将现有代码转换为使用当时的方法进行编码吗?我试过,但我失败了任何人都可以帮助PLZ bcz不熟悉javaScript? 谢谢
答案 0 :(得分:3)
$http(...).success(function onSuccess(data, status, headers, config) {
// Handle success
//...
}).error(function onError(data, status, headers, config) {
// Handle error
//...
});
$http(...).then(function onSuccess(response) {
// Handle success
var data = response.data;
var status = response.status;
var statusText = response.statusText;
var headers = response.headers;
var config = response.config;
//...
}).catch(function onError(response) {
// Handle error
var data = response.data;
var status = response.status;
var statusText = response.statusText;
var headers = response.headers;
var config = response.config;
//...
});
有关详细信息,请参阅AngularJS Developer Guide - Migrating from V1.5 to V1.6
另见Why are angular $http success/error methods deprecated? Removed from v1.6?
答案 1 :(得分:1)
像这样使用include 'connection.php';
来捕获响应。
请务必使用then
,因为响应数据位于response.data
属性
data
使用$http.get("http://localhost:8080/chercherProduits?mc")
.then(function(response){
$scope.pageProduits=response.data;
},function(response){
console.log(response.data);
})
以行方式显示数据
ng repeat
答案 2 :(得分:0)
AngularJS $http
服务向服务器发出请求,并返回response
。使用then
代替success
,如下所示:
var app=angular.module("MyApp",[]);
app.controller("MyController",function($scope,$http){
$scope.pageProduits=null;
$http.get("http://localhost:8080/chercherProduits?mc")
.then(function(data){ // function that execute on ajax success
$scope.pageProduits=data.data;
}, function error(function(err){ //function that execute on ajax error
console.log(err.statusText);
});
});
答案 3 :(得分:0)
根据棱角分明Js官方文件。 Success
和error
方法已不再可用。这些方法是折旧的,而是建议使用标准的.then
方法。 Succces
方法仅返回响应中的data
,但在.then
方法中,返回完整的response
对象。
var app=angular.module("MyApp",[])
.controller("MyController",function($scope,$http){
$scope.pageProduits=null;
$http.get("http://localhost:8080/chercherProduits?mc")
.then(function(response){
if(response.status === 200) {
$scope.pageProduits=response.data
}
}, function(error) {
console.log(error)
});
});
更多信息:https://docs.angularjs.org/api/ng/service/ $ http