2016-10-10 3 views
0

Я хочу использовать входное значение пользователя для контроллера. например, я хочу взять URL-адрес и отправить HTTP-запрос GET. Я пробовал следующий формат, к сожалению, он не работает.Angularjs - пользовательский ввод в контроллере

<script> 
var app = angular.module('myApp',[]); 
app.controller('myCtrl' , function($scope, $http){ 
$http.get("{{url}}") 
.success(function(response){ 
$scope.data=response.data; 
}); 
}); 
</script> 

ответ

2

Вот url извлекается из пользовательского ввода

var app = angular.module('myApp', []); 
 
app.controller('myCtrl', function($scope, $http) { 
 

 
    $scope.callAPI = function() { 
 
    console.log($scope.url); 
 
    $http.get($scope.url) 
 
     .success(function(response) { 
 
     $scope.result = response.data; 
 
     }); 
 
    }; 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="myCtrl"> 
 
    Enter url : 
 
    <input type="text" ng-model="url" /> 
 
    <input type="submit" ng-click="callAPI()" /> 
 
    
 
    <div ng-bind="result"></div> 
 
</div>

Примечание: Это покажет ошибку, если вы ввели неверный URL

+0

Спасибо так много ... – itsMe

+0

Нет проблем мате, не забудьте пометить его как ответ, если он вам помог – Weedoze

0

Должен быть l oyout так:

<input ng-model="url" required/> 

, то вы можете использовать

$http.get($scope.url).... 
Смежные вопросы