2017-03-02 81 views
2

RESTful API中如果是被打的URL将被传递变量即 API.openweathermap.org/data/2.5/forecast/city?name=[random_city_name]&APPID=[key_value]通过调用Ajax和角JS

那么什么是更好地使用AJAX或角JS。

如果我使用ajax,那么我该如何传递变量?我是这个新手。所以,需要你的帮助。

回答

4

您的网址似乎有请求参数和假设你使用angular1

对于这一点,你可以使用

$http({ 
    method: 'GET', 
    url: url, 
    headers: {}, 
    params : {} 
}) 

把你的参数作为地图和$ HTTP将创建一个URL的护理。 参考$ HTTP文件here

+0

是否可以使用ajax来实现这个功能? – aayushi

+1

Ajax内部是'XMLHttpRequest'。 '$ http'也是。您可以使用普通的AJAX,但使用角度服务更为可取。阅读$ http文档以更好地了解它。 –

0
You can use angular $http service and pass your params like below. 

var UserInfo = function() { 
    $scope.userID = "1111"; 
    var req ={ 
     "method":"GET", 
     "url": someURL + $scope.userID, 
     "withCredentials":true 
    }; 
    $http(req).then(function(response) { 
     alert('success'); 
    }, function(response) { 
     alert('error'); 
    }); 
}; 
1

什么是更好的使用AJAX或角JS

不能比拟为AJAX提供了一种communicate(发送请求并获得响应)与服务器asynchronouslyAngularJS使用AJAX来扩展2-way数据绑定。

要完成上述情况,我们可以使用Angular $http服务。

var baseUrl = API.openweathermap.org/data/2.5/forecast/city; 
var method = 'GET'; 
var data = {}; 
var params = { 
    "name":cityName, 
    "APPID":key_value 
}; 

$http({ 
    method: method, 
    url: baseUrl, 
    params : params, 
    data : data 
}).then(function mySucces(response) { 
    $scope.data = response.data; 
}, function myError(response) { 
    $scope.data = response.statusText; 
}); 
+0

如果我想通过我的HTML页面访问数据,那么是相同的语法,即$ scope.data?我对角度很陌生,对语法不太熟悉。谢谢! – aayushi

+0

是的,您可以使用角度表达式'{{data}}'在html中访问它,如果它是数据''中的数组'ng-repeat =',则可以使用ng-repeat。 –

+0

我的意思是如果我有一个输入框在html中,我进入城市,我必须在angular.js中访问这个城市。那我该怎么办? – aayushi