Javascript 如何调用http Get服务并在单击按钮时在angularjs的div中显示其响应?
我试图在angular js中的按钮单击上调用$http Get服务。但是我没有得到结果中显示的数据。。。我的代码片段如下:-Javascript 如何调用http Get服务并在单击按钮时在angularjs的div中显示其响应?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我试图在angular js中的按钮单击上调用$http Get服务。但是我没有得到结果中显示的数据。。。我的代码片段如下:- <button ng-controller="myCtrl6" ng-click="search()">Click</button> <p ng-controller="myCtrl6"> {{results}} {{fail}} </p> 欢迎光临 Hello World 这是$http的正确用法 $http
<button ng-controller="myCtrl6" ng-click="search()">Click</button>
<p ng-controller="myCtrl6">
{{results}}
{{fail}}
</p>
欢迎光临
Hello World
这是$http的正确用法
$http({
method: 'GET',
url: '/someUrl'
}).then(function successCallback(response) {
// in your case
$scope.results = response.data;
}, function errorCallback(response) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
或
最好为此提供服务:
app.factory('ServiceName', function() {
return {
search: search
};
function search () {
return $http.get('/someUrl', config);
}
});
内部控制器
var app = angular.module("myApp", []);
app.controller('myCtrl6', ['$scope', 'ServiceName', function ($scope, serviceName) {
$scope.search = function() {
serviceName.search().then(function(response) {
$scope.results = response.data;
});
}
}]);
已编辑将按钮和p标记包装在divmain容器内,通过这样做,您只能访问该主容器内的控制器范围,而不能访问该容器外的控制器范围
<div ng-controller="myCtrl6">
<p >{{results}}
{{fail}}
</p>
<button ng-click="search()">Fetch Data</button>
</div>
您在哪里调用了$scope.search函数?请检查此项,然后该函数是必需的!$http的快捷方式用法在文档中给出:$http.get'/someUrl',config.thensuccessCallback,errorCallback;我在tag中调用了$scope.search。我应该在哪里使用此代码?它是否在控制器内?您的服务名称,您可以根据需要命名它。。。例如SearchService。这取决于你
<div ng-controller="myCtrl6">
<p >{{results}}
{{fail}}
</p>
<button ng-click="search()">Fetch Data</button>
</div>
$scope.search = function () {
$http.get('welcome.html')
.success(function(response) {
$scope.results = response;
})
.error(function(error) {
console.log("error is : " + JSON.stringify(error))
})
}