Javascript 如何调用http Get服务并在单击按钮时在angularjs的div中显示其响应?

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

我试图在angular js中的按钮单击上调用$http Get服务。但是我没有得到结果中显示的数据。。。我的代码片段如下:-

<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))
          })
    }