Задать вопрос
@dk-web

Передача данных laravel->angular?

Ребят, сорри... затупил.
return [
          'sources' => Source::where('user_id', $request->user()->id)->get()->toJson(),
      ];


в ангуляре хочу сделать так...
Order.get()
        .success(function(data) {
console.log(data);
            $scope.sources = data.sources;
console.log($scope.sources);

        });


видимо получается строка, а не массив объектов, потому что ангуляр ругается

angular.js:12416 Error: [ngRepeat:dupes] errors.angularjs.org/1.4.5/ngRepeat/dupes?p0=sourc...

ну и чтоб не плодить вопросов.. .конечная задача из ларавеля передать массив jsonов
return [
          'sources' => Source::where('user_id', $request->user()->id)->get()->toJson(),
          'types' => [{'id'=>1,'type='нал'},{'id'=>'2','type'=>'карта'] 
      ];

и соответственно в ангуляре получать...
Order.get()
        .success(function(data) {
console.log(data);
            $scope.sources = data.sources;
            $scope.types = data.types;
console.log($scope.sources);

        });


далее ng-repeat="source in sources"... type in types.
что не так делаю? need support
  • Вопрос задан
  • 620 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
AmdY
@AmdY
PHP и прочие вебштучки
У тебя в sources будет строка, ясно что с ng-repeat будут проблемы.
В types у тебя тоже ересь.
Не нужно дёргать toJSON или формировать его вручную. просто отдай объект и массив
return [
          'sources' => Source::where('user_id', $request->user()->id)->first(),
          'types' => [
                  ['id'=>1,  'type' => 'нал'],
                  ['id'=> 2, 'type' => 'карта']
           ] 
      ];
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
видимо получается строка, а не массив объектов, потому что ангуляр ругается


1) убедитесь что с сервера приходит валидный JSON
2) проверьте что с сервера приходит валидный JSON и заголовок Content-Type: application/json.
Ответ написан
Valonix
@Valonix
Back end / Front end developer
Там в документации вроде написано, при return без view отдается json ,то есть не надо его уже менять. Ребята подумали этот момент. Посмотрите в разделе Responses на всякий случай https://laravel.com/docs/5.2/responses#json-responses
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы