質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • AngularJS

    591questions

    AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

  • FuelPHP

    552questions

    FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

  • CoffeeScript

    148questions

    CoffeeScriptはプログラミング言語です。シンタックスシュガーの導入により、JavaScriptのコードに変換された後動作します。JavaScriptに比べ、可読性と簡潔性が向上しています。

angularjs coffeescript オブジェクトの取り出し方がわかりません

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 652

s.t.

score 1804

現在、CoffeeScriptおよびAngularJSと
サーバー側はFuelPHPでWebアプリを構築しようとしています。

CoffeeScript側でFuelPHPで作られたAPIを叩いて目的の値の取得には成功しているのですが、
そのオブジェクトから値を取り出し方がわかりません。

      # APIを叩いて、結果をresultに
      result = User.getApply(params)

      applyList = result.$$state
      console.log applyList

ChromeのF12で取得したオブジェクトを表示させた結果は

Object
  status: 1
  value: Object
    config: Object
    data: Object
      is_error: false
      result: Object
        all_count:2
        list: Array(2)
          0:Object
          1:Object

このvalueのdataのresultのlistにあるObjectをすべて取り出そうとしています。

applyList = result.$$state.value

などとしてみましたが、console.logでundefinedとなってしまい、
値が取り出せませんでした。

returnされている部分のソースは

        $rows = $query->execute()->as_array();


        //取得したデータを整形する ----------------------------------------------------------------
        $list = array();
        foreach($rows as $row){
            $_list = array();

            $od = array();
            $od['title']             = $row['title'];
                        //他パラメータは割愛させていただきます

            $_list['offer_data'] = $od;

            $ad = array();
            $ad['id3']            = $row['id3'];
                        //他パラメータは割愛させていただきます

            $_list['apply_data'] = $ad;
            $list[] = $_list;
        }


        return array('list' => $list , 'all_count' => $count );


という感じでarrayを返しています。

また、coffeescriptでAPIを投げている部分は

    request = (name, method, data, loadingBar) ->
      req =
        method: method
        url: host + name + ".json"
        transformRequest: transform
        headers:
          'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
      if data != undefined
        data.env = 'browser'
        req.data = data
      switch method
        when 'GET'
          req.params = data
        when 'POST'
          req.data = data
      console.log "req"
      $log.debug req
      console.log req
      console.log $http(req)
      return $http(req)

このようになっています。
$httpを利用しておりそのあたりを調査すればよいのかなと思い調べてみましたが、
たぶん勘違いがどこかでおこっており理解がすすんでおりません。

なにかヒントをいただけると幸いです。
よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

0

やはり勘違いでした・・・。

      obj = User.getApply(params)
      obj.success((data) ->
        if data.is_error
          return Utils.swalErrorAlert('エラーが発生しました。', data.error_message_for_debug + '。')
        console.log data
        vm.list = data

普通に取れました。

やっぱ徹夜続きだと頭が鈍りますね・・・。
リフレッシュすると30秒で解決・・・orz

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • AngularJS

    591questions

    AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

  • FuelPHP

    552questions

    FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

  • CoffeeScript

    148questions

    CoffeeScriptはプログラミング言語です。シンタックスシュガーの導入により、JavaScriptのコードに変換された後動作します。JavaScriptに比べ、可読性と簡潔性が向上しています。