对端点进行GET并使用Angular打印出数据

kyo*_*kyo 9 javascript angularjs

我正在尝试对我的端点进行GET并在我的页面中打印数据

<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>



<div ng-app="myApp" ng-controller="myCtrl">

  <p>Data is:</p>
  <h1>{{myData}}</h1>

</div>



<script>
  var app = angular.module('myApp', []);
  app.controller('myCtrl', function($scope, $http) {

    var promise = $http({
      method: 'GET',
      url: 'http://d.biossusa.com/api/distributor?key=*****',
      dataType: 'jsonp',
    });

    promise.success(function (data, status, header, config) {
      console.log("status is ", status);
      console.log(config.method + " data is: " + config.data);
      console.log("data is ", data);
      $scope.myData = response.data;

    });

  });

</script>
Run Code Online (Sandbox Code Playgroud)

我不断得到

在此输入图像描述

我希望得到数据打印!

https://jsfiddle.net/bheng/b3rgh92v/

当我卷曲这个网址时:http://d.biossusa.com/api/distributor? key =*****

我的结果很好!

在此输入图像描述

我的角度怎么办?任何提示?

Ali*_*aig 9

很少有观察到:

1):如果您正在使用外部文件(您正在创建角度模块),请确保已在html中添加了脚本文件的引用.

2):删除作业的回复

$scope.myData = response.data;  //response is undefined, so remove it
Run Code Online (Sandbox Code Playgroud)

它应该是

$scope.myData = data;
Run Code Online (Sandbox Code Playgroud)

3)最后,确保允许您调用该端点[我收到错误,说我无法从plnkr的HTTPS端点调用http端点,因此我更新了GET URL].我在plunker中使用不同的URL尝试了您的代码,并且上述更改正常.这是plnkr链接


Sin*_*ing 6

  1. JsFiddle javascript设置加载类型= No wrap - in <body>
  2. 删除<script>javascript块中的标记
  3. 改变response.datadata
  4. 加载JsFiddle,http因为您的端点只允许http

    var app = angular.module('myApp', []);
      app.controller('myCtrl', function($scope, $http) {
    
    var promise = $http({
          method: 'GET',
          url: 'http://d.biossusa.com/api/distributor?key=*****',
          dataType: 'jsonp',
        });
    
        promise.success(function (data, status, header, config) {
          console.log("status is ", status);
          console.log(config.method + " data is: " + config.data);
          console.log("data is ", data);
          $scope.myData = data;
        });    
      });
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/b3rgh92v/15/


rle*_*ler 3

我将您的示例复制并粘贴到 plunkr 中,它工作得很好(除了由于 CORS 而不会使您的 ajax 运行)。

https://plnkr.co/edit/oEkv3vgkotjJhVFrSvu2?p=preview

您还需要删除<script>从小提琴上的 javascript 窗口中删除标签

我看了一下你的 jsFiddle,注释掉了 javascript,控制台仍然说有一个注入器错误,这很奇怪。