首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Angular 5中的header解析远程JSON文件

使用Angular 5中的header解析远程JSON文件
EN

Stack Overflow用户
提问于 2018-03-13 01:11:03
回答 1查看 842关注 0票数 0

我需要在Angular 5中使用带有get请求的头来解析远程JSON文件。不确定如何使用GET来完成此操作。

类似这样,但在Angular 5

代码语言:javascript
复制
let headers = new Headers({
  'key': 'Value',
  'key2' :'value2'
});
let request_option = new RequestOptions({ headers: this.headers});
this.http.get("http.//.....", request_option)
.map(res => res.json()

this.user.firstname = user.response.docs[0].FIRST_NAME;
this.user.lastname = user.response.docs[0].LAST_NAME;

JSON:

代码语言:javascript
复制
{
    "responseHeader": {
      "status":0,
        "QTime":1,
    },"response":{
    "docs":[{
            "FIRST_NAME": "John",
            "LAST_NAME": "Smith"
}]          
    }
  }

最终能够在HTML中调用它(&L):

代码语言:javascript
复制
<div>{{user.firstname}}</div>
EN

回答 1

Stack Overflow用户

发布于 2018-03-13 02:37:57

下面是从另一台服务器获取json的示例

代码语言:javascript
复制
$scope.userData = undefined;
        var req = {
            method: 'GET',
            url: 'https://randomuser.me/api/?results=30&nat=US',
            headers: { 'Content-Type': 'application/json' }
        };

        $http(req).then(function (response) {
            $scope.userData = response.data;
        });

如果response.data是以json字符串形式接收的,则可以使用以下代码轻松地解析它

代码语言:javascript
复制
JSON.stringify(response.data)

下面是从另一台服务器获取json并将其显示在表中的工作示例

代码语言:javascript
复制
<!DOCTYPE html>
<html>

<head>
  <script data-require="jquery@3.0.0" data-semver="3.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script>
  <link data-require="bootstrap@3.3.7" data-semver="3.3.7" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
  <script data-require="angular.js@1.6.6" data-semver="1.6.6" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
  <script src="https://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.6.0.js" type="text/javascript"></script>
  <script>
    (function() {

      angular.module("testApp", ['ui.bootstrap']).controller('testCtrl', ['$scope', '$http', function($scope, $http) {
        $scope.userData = undefined;
        var req = {
            method: 'GET',
            url: 'https://randomuser.me/api/?results=30&nat=US',
            headers: { 'Content-Type': 'application/json' }
        };

        $http(req).then(function (response) {
            $scope.userData = response.data;
        });
      }]);


    }());
  </script>
  <style></style>
</head>

<body ng-app="testApp">
  <div ng-controller="testCtrl">
    <form name="commonForm">
      <table class="table">
        <tr>
          <th> Name </th>
          <th> Gender </th>
          <th> Email </th>
          <th> Username </th>
          <th> Date of Birth </th>
          <th> Registered Date </th>
          <th> Phone </th>
          <th> Mobile </th>
          <th> Nationality </th>
          <th> Profile </th>
        </tr>
        <tr ng-repeat="user in userData.results">
          <td> {{user.name.first}} {{user.name.last}}</td>
          <td> {{user.gender}}</td>
          <td> {{user.email}}</td>
          <td> {{user.login.username}}</td>
          <td> {{user.dob}}</td>
          <td> {{user.registered}}</td>
          <td> {{user.phone}}</td>
          <td> {{user.cell}}</td>
          <td> {{user.nat}}</td>
          <td> 
            <img ng-src="user.picture.large">
          </td>
        </tr>
      </table>

    </form>

  </div>
</body>

</html>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49240892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档