【问题标题】:Can't get all the values from json (Angularjs)无法从 json (Angularjs) 中获取所有值
【发布时间】:2016-06-22 08:16:26
【问题描述】:

我正在尝试从 json 数据中获取不同的值。

虽然我可以从中获取描述值,但我无法获取它的名称值。

这是我的 app.js:

.controller("detail", ["$scope", "$http", "$stateParams", function($scope, $http, $stateParams){

  var config = {
    headers : {
    'Content-Type': 'application/json'
    }
  }

  $http.get("http://example.com/app/detay.php?id=" + $stateParams.id, config)
  .success(function(response){
    $scope.description = (response[0].description);
    $scope.name = (response[0].name);
  })
}])

我使用的示例 json 数据:

[{"id":"803","name":"At Kafas\u0131","description":"<p>Kahve fal\u0131nda at kafasm\u0131 g\u00f6rmek, iyi ve mutlu bir haber alaca\u011f\u0131n\u0131za, geli\u015fmelerin hayat\u0131n\u0131za olumlu etkilerde bulunaca\u011f\u0131n\u0131n bir i\u015faretidir.Zenginli\u011fi ve bereketin sembol\u00fc olan at kafas\u0131, i\u015f ve okul hayat\u0131n\u0131zda \u00e7ok ba\u015far\u0131l\u0131 olaca\u011f\u0131n\u0131za, uzun zamand\u0131r ilgi g\u00f6sterdi\u011finiz bir ki\u015finin duygular\u0131n\u0131za kar\u015f\u0131l\u0131k verece\u011finin bir habercisidir.<\/p>\n<p>Kahve fal\u0131nda at kafas\u0131 g\u00f6rmek, i\u015f hayat\u0131n\u0131zda yorucu ge\u00e7en g\u00fcnlerin sonunda nihayet uzun bir s\u00fcredir ev sahibi olma iste\u011finiz ger\u00e7ekle\u015fecek ve \u00e7ok g\u00fczel bir eve sahip olacakt\u0131r. Maddi ve manevi olarak y\u00fckseli\u015fler sizi bekliyor.\u0130\u015f yerinizdeki ya\u015fad\u0131\u011f\u0131n\u0131z haks\u0131zl\u0131klar ve \u00e7al\u0131\u015fmalar\u0131n\u0131z\u0131n kar\u015f\u0131l\u0131\u011f\u0131 olan paray\u0131 alamaman\u0131z her ne kadar moralinizi bozsada hakk\u0131n\u0131z\u0131 yasal yollarla araman\u0131z gerekti\u011fini sak\u0131n unutmay\u0131n. A\u015fk hayat\u0131n\u0131zda karma\u015f\u0131k duygular ya\u015fayacaks\u0131n\u0131z ve se\u00e7im yapmakta olduk\u00e7a zorlanacaks\u0131n\u0131z, bu gibi d\u00f6nemlerde kalbinizin sesini dinlemeyi ihmal etmeyin.<\/p>\n<p>.Kahve fal\u0131nda at kafas\u0131 g\u00f6rmek ne anlama gelir sorusunun bir di\u011fer cevab\u0131, arkada\u015f \u00e7evrenizde olduk\u00e7 samimi oldu\u011funuz ki\u015filerin nihayet ger\u00e7ek y\u00fcz\u00fcn\u00fc g\u00f6receksiniz ve istemedi\u011finiz olaylar ile kar\u015f\u0131 kar\u015f\u0131ya kalarak olduk\u00e7a \u00fcz\u00fcleceksiniz. \u0130nsanlar\u0131, kendiniz gibi iyi g\u00f6rmeyi art\u0131k b\u0131rak\u0131n ve hayat\u0131n ger\u00e7eklerini fark etmenin zaman\u0131 geldi.<\/p>\n"}]

这是我的html:

<div ng-controller="detail">

      <div class="overview" ng-bind-html="description">
        <p>
          <h2><b>Kahve Falında {{name}} Görmek</b></h2>
          <br>
          {{description}}
        </p>
      </div>

    </div>

【问题讨论】:

  • 我没有使用 ng-repeat 因为我不打算打印项目列表。我必须在所有情况下都使用 ng-repeat 吗? @Rajesh

标签: angularjs json ionic-framework


【解决方案1】:

这是一个JsFiddle,其中包含来自服务的数据。

当使用 $http 发出 HTTP 请求时,我建议使用 Promise。

$http.get("http://falimda.com/app/detay.php?id=" + $stateParams.id, config)
    .then(function(response) {
      $scope.description = response.data[0].description;
      $scope.name = response.data[0].name;
});

JSFiddle 不允许这样做,但请在您的 IDE/代码编辑器中尝试。

【讨论】:

  • 我试过了,但它不起作用,JsFiddle 工作正常且有意义,但我不知道为什么当我以这种方式更改代码时它不起作用。 @shammelburg
  • @Burak Güneli,您的服务在浏览器中调用正常,我尝试使用 $http.get 通过我的 Angular 应用程序访问它,似乎存在 CORS 问题,您需要允许访问您的应用程序。
【解决方案2】:

我真的看不出你的代码有什么问题,但试试这个小提琴。

obj = response[0]
name = obj.name

https://jsfiddle.net/zk8z7mb1/1/

【讨论】:

  • 你看到小提琴了吗?我认为那是一样的。只需尝试将变量从 name 重命名为 name2,可能会有冲突。
  • 是的,我看到了小提琴,但不幸的是它在我的代码中不起作用
【解决方案3】:

我没有发现任何问题,但你确定你放入了正确的 ng-app 吗?

我认为您应该尝试测试一件事,您创建 1 个变量,例如 $scope.test = "test" 并将其显示给 UI {{test}}。

如果它没有出现,我认为你应该检查你的代码是否正确使用你的应用程序。

谢谢, 祝你好运。

【讨论】:

    【解决方案4】:

    我终于明白了。

    所以我的代码中提取名称和描述没有问题。

    问题在于div 中的ng-bind-html="description"。我用它来提取带有标签的描述数据到我的html。但它给{{name}} 带来了问题。所以我将ng-bind-html="description" 移动到包含{{description}} 的&lt;p&gt; 标签,一切正常。

    感谢您的帮助!

    【讨论】:

    • 我试过标记它,但它说“你可以在 2 天内接受你自己的答案”,那是因为我认为我是这个平台的新手
    猜你喜欢
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    相关资源
    最近更新 更多