2016-06-22 3 views
0

Я пытаюсь получить разные значения из данных json.Не удается получить все значения из json (Angularjs)

Altought Я могу получить описание от него, я не могу получить его имя значение.

Вот мой app.js: данные JSON

.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); 
    }) 
}]) 

образца, который я использую:

[{"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> 
+0

Я не использовал ng-repeat, потому что я не собираюсь печатать список предметов. Должен ли я использовать ng-repeat при любых обстоятельствах? @Rajesh –

ответ

0

Я понял это НАКОНЕЦ.

Таким образом, в моем коде нет проблем, который вытаскивает имя и описание.

Проблема ng-bind-html="description" внутри div. Я использовал его для извлечения данных описания с тегами в свой html. Но это создало проблему для {{name}}. Поэтому я переместил ng-bind-html="description" в <p> тег, который содержит {{description}}, и все прошло отлично.

Спасибо за помощь!

+0

Отметить как ответ. –

+0

Я попытался отметить его, но он говорит, что «вы можете принять свой собственный ответ за 2 дня», потому что я новичок в этой платформе, я думаю –

0

Я не могу на самом деле см. что-то не так с вашим кодом, но попробуйте эту скрипку.

obj = response[0] 
name = obj.name 

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

+0

это не сработало для меня @aldesabido –

+0

Вы видели скрипку? Я думаю, что это точно так же. Просто попробуйте переименовать переменную от имени к name2, возможно, есть конфликт. – aldesabido

+0

Да, я видел скрипку, но, к сожалению, это не сработало в моем коде –

1

Вот JsFiddle с данными службы.

Выполнение запроса HTTP с использованием $http Я бы рекомендовал использовать обещание.

$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/Code.

+0

Я пробовал, но он не работал, JsFiddle отлично работает и имеет смысл, но я не знаю, почему, когда я меняю свой код таким образом он не работает. @shammelburg –

+0

@ Burak Güneli, ваш сервис прекрасно работает в браузере, я попытался получить доступ к нему через мое угловое приложение, используя '$ http.get' и, похоже, проблема CORS, вам нужно разрешить доступ к вашему приложению. – shammelburg

0

Я не вижу ничего плохого, но вы уверены, что положили нужное ng-приложение?

Я думаю, вы должны попробовать проверить одну вещь, вы создаете 1 переменную типа $ scope.test = "test" и показываете ее в UI {{test}}.

Если он не отображается, я думаю, вам стоит просмотреть свой код, независимо от того, используете ли вы свое приложение.

Thanks, Удачи.