本文介绍了如何从输入的数据发送到服务?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有发送数据的形式输入到该服务的一个问题。
比如我有一个输入:

I have a problem with a sending data form input to the service.For example I have an input:

<input type="text" class="form-control" placeholder="City name...">
<span class="input-group-btn">
      <button class="btn btn-default" type="button">Go!</button>
</span>

和这对REST API歌厅数据的服务:

And a service which is geting data for rest api:

app.factory('forecast', ['$http', function($http) {
  return $http.get('http://api.openweathermap.org/data/2.5/forecast/city?q=Warsaw&units=metric&mo')
            .success(function(data) {
              return data;
            })
            .error(function(err) {
              return err;
            });
}]);

我怎样才能从输入点击按钮后发送城市名称走出去建立我自己的API链接?然后显示在查看这些数据?
我的意思是这样的

推荐答案

您应该指定您输入的 NG-模型指令,如:

You should assign your input an ng-model directive, like this:

<input type="text" class="form-control" placeholder="City name..." ng-model="city.name">

您分配一个按钮 NG-点击指令,如:

<button class="btn btn-default" type="button" ng-click="getForecast(city)">Go!</button>

最后,添加的getForecast 功能控制器,是这样的:

Finally, add getForecast function to your controller, like this:

$scope.getForecast = function (city) {
    forecast.getForecast($scope.city).then(function (data) {
        // do something with the response
    }, function (err) {
        // do something about the error
    });
}

对于这个工作,你应该改变你的服务是这样的:

For this to work you should change your service to something like this:

app.factory('forecast', ['$http', function($http) {
   return {
       getForcast: function (city) {
           $http.get('http://api.openweathermap.org/data/2.5/forecast/city?q=' + city.name + '&units=metric&mo');
       }
   };
}]);

这篇关于如何从输入的数据发送到服务?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-22 13:50
查看更多