0

我正在尝试在 Angular JS 中使用 zillow api 获取 URL。

angular.module('account.settings').controller('AccountSettingsCtrl', ['$scope', '$http', '$sce',
  function($scope, $http, $sce) {

    var getZillowURL = function() {
      var url = "http://www.zillow.com/webservice/GetSearchResults.htm?zws-id=X1-ZWz1ft20wfj30r_94p25&address=2114+Bigelow+Ave&citystatezip=Seattle%2C+WA";
      var trustedUrl = $sce.trustAsResourceUrl(url);
      $http.jsonp(trustedUrl, {
          jsonpCallbackParam: 'callback'
        })
        .success(function(result) {
          $scope.mortgageLocation = result;
          console.log('success!');
          console.log(result);
        })
        .error(function(data, status) {
          console.log('error!');
          console.log(data);
        });
    };
    getZillowURL();
  }
]);

但是 JSONP 返回错误。当我使用用作 JSONP 参数的 URL 访问时,webbrowser 正确显示。此 zillow API 返回 XML 数据。如何将其作为 JSON 类型数据获取?

4

1 回答 1

1

您可以使用 xml2json。从这里得到它:

xml2json github

添加重发:

<script src="xml2json.js"></script>

在您的控制器中,在您从 api 获得 xml 响应后,将其转换为 json,如下所示

  var x2js = new X2JS();
  var jsonResponse= x2js.xml_str2json(your_xml);
于 2017-07-12T04:07:15.693 回答