Я пытаюсь реализовать wego API в angularJS. Проблема, с которой я столкнулся, состоит в том, чтобы: Чтобы получить список отелей, мне нужно сделать три вызова API, в результате каждого из которых предоставляется некоторая информация, которая должна быть передана в следующий вызов API. Проблема, с которой я столкнулась, заключается в том, что я могу сделать первый звонок успешно, но не продолжать дальше. Я попытался использовать console.log и обнаружил, что после того, как сделан 2-й вызов API, выполнение не идет на обратный вызов успеха и на обратный вызов ошибки. Вот мой код: -
var app = angular.module('tripochill', []);
app.controller('MainCtrl', function($scope, $http, $log) {
$scope.city = "";
$scope.ts_code = #####;
$scope.key = ##########;
$("#from").on("change", function() {
$scope.checkin = $(this).val();
console.log($scope.checkin);
chk = $scope.checkin;
day = chk.substr(0, 2);
mon = chk.substr(3, 2);
yr = chk.substr(6);
$scope.checkin = (yr + "-" + day + "-" + mon);
console.log($scope.checkin);
});
$("#to").on("change", function() {
$scope.checkout = $(this).val();
console.log($scope.checkout);
chk = $scope.checkout;
day = chk.substr(0, 2);
mon = chk.substr(3, 2);
yr = chk.substr(6);
$scope.checkout = (yr + "-" + day + "-" + mon);
console.log($scope.checkout);
});
console.log($scope.city[0]);
$scope.cityNames = function() {
$http.get("http://api.wego.com/hotels/api/locations/search?q=" + $scope.city[0] + "&ts_code=" + $scope.ts_code + "&key=" + $scope.key)
.then(onSuccessName, onErrorName);
};
//Success method
var onSuccessName = function(response) {
$scope.count = response.data.count;
console.log($scope.count);
var count = 0;
for (var i = 0; i < $scope.count; i++) {
if (response.data.country_name == city[2]) {
count = i;
break;
}
}
console.log(count);
console.log(response.data.locations[count].id);
id = response.data.locations[count];
$scope.id = id.id;
$scope.searchid = function() {
console.log("hahahahaha");
$http.get("http://api.wego.com/hotels/api/search/new?location_id=" + $scope.id + "&check_in=" + $scope.checkin + "&check_out=" + $scope.checkout + "&user_ip=direct&ts_code=" + $scope.ts_code + "&key=" + $scope.key)
.then(onSuccessSearch, onErrorSearch);
};
var onSuccessSearch = function(response) {
console.log("2");
console.log(response.data);
$scope.search_id = response.data;
};
var onErrorSearch = function(response) {
console.log("here!!!");
$log.info(response);
$scope.info = "Could not retrieve data";
};
};
//Error method
var onErrorName = function(response) {
$log.info(response);
$scope.info = "Could not retrieve data";
};
/*function hotels(search_id){
$scope.hotelList = function() {
$http.get("http://api.wego.com/hotels/api/search/"+search_id+"&ts_code="
+$scope.ts_code+"&key="+$scope.key)
.then(onSuccessList, onErrorList);
};
var onSuccessList = function (response) {
$scope.hotels = response.data;
console.log($scope.hotels);
};
var onErrorList = function (response) {
$log.info(response);
$scope.info = "Could not retrieve data";
};
}*/
});
app.controller('SecondCtrl', function($scope) {
});
любая ошибка отображается? –