2017-03-02 53 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