在AngularJS中使用$http.get检索JSON时出现错误400

Error 400 when retrieving JSON with $http.get in AngularJS

本文关键字:JSON 错误 检索 get AngularJS http      更新时间:2023-09-26

当我试图用$http.get.从下面的URL检索JSON时,我收到了一个错误400

$http.get('https://api.spotify.com/v1/search?q=artist:Owl+City+title:On+The+Wing&type=track&limit=1').
  success(function(data) {
    console.log("Success");         
  })
    .error(function(error, status, headers, config) {
      console.log(status);
      console.log("Error occured");
    });

我设法用这个检索它:

$.getJSON('https://api.spotify.com/v1/search?q=artist:Owl+City+title:On+The+Wing&type=track&limit=1').then(function (data) { console.log("Success");});

但问题是,当我试图用这个方法更改$scope中的值时,它只显示在视图中,一个操作之后,因为我得到的是以前的歌曲信息,而不是当前的。

这是控制器代码:

 angular.module('pwilApp')
  .controller('SongsCtrl', function ($rootScope, $scope,$http,$sce) {
    var increment = 0;
    var laSimilaire = "";
    var init = true;
    $rootScope.activeHome = "";
    $rootScope.activeSongs = "active";
    $rootScope.activeAccount = "";
    $rootScope.activeContacts = "";
    $rootScope.activeAbout = "";
    $rootScope.activeConnection = "";
    $scope.currentPage = 1;
    $scope.totalPages = 0;
    $scope.loading = true;
    $scope.$on('$viewContentLoaded', function () {
      $http.get('https://api.spotify.com/v1/search?q=artist:Owl+City+title:On+The+Wing&type=track&limit=1').success(function (data) {
          console.log("Success");              
        })
        .error(function (error, status, headers, config) {
          console.log(status);
          console.log("Error occured");
        });
      $.getJSON('https://api.spotify.com/v1/search?q=artist:Owl+City+title:On+The+Wing&type=track&limit=1').then(function (data) {
        $scope.preview_url = $sce.trustAsResourceUrl(data.tracks.items[0].preview_url);
      });
    });
  }

谢谢你的回答。

对我来说非常好

 angular.module('pwilApp',[])
  .controller('SongsCtrl', function ($rootScope, $scope,$http) {
    var increment = 0;
    var laSimilaire = "";
    var init = true;
    $rootScope.activeHome = "";
    $rootScope.activeSongs = "active";
    $rootScope.activeAccount = "";
    $rootScope.activeContacts = "";
    $rootScope.activeAbout = "";
    $rootScope.activeConnection = "";
    $scope.currentPage = 1;
    $scope.totalPages = 0;
    $scope.loading = true;
      $http.get('https://api.spotify.com/v1/search?q=artist:Owl+City+title:On+The+Wing&type=track&limit=1').success(function (data) {
          console.log("Success",data);     
$scope.songData = data.tracks.items;         
        })
        .error(function (error, status, headers, config) {
          console.log(status);
          console.log("Error occured");
        });
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="pwilApp" ng-controller="SongsCtrl">
<div ng-repeat="song in songData">
 {{song.id}} | {{song.name}}
</div>