2016-05-27 13 views
1

私はAngularJSを使用しています。私は価格の値を動的に取得したいのですが、これはURLのjsonデータから取得することを意味します。これは可能ですか? jsonのURLから値を取得する方法

この

のURL JSONです: url

そして、これは私のコントローラです:plunker

備考::私は私のplunkrでこれを設定する

angular.module("myApp",['zingchart-angularjs']).controller('MainController', ['$scope', '$http', function($scope, $http) { 

    $scope.cities =[{ 
    "name": "city A", 
     "elements": [{ 
      "id": "c01", 
      "name": "name1", 
      "price": "15",//I want to get this price from the url json: [url][1]. Get it from the value of prix_diesel attribute 
      "qte": "10" //I want to get this price from the url json. Get it from the value of prix_essence attribute 
     }, { 
      "id": "c02", 
      "name": "name2", 
      "price": "18", 
      "qte": "11" 
     }, { 
      "id": "c03", 
      "name": "name3", 
      "price": "11", 
      "qte": "14" 
     }], 
     "subsities": [{ 
      "name": "sub A1", 
      "elements": [{ 
      "id": "sub01", 
      "name": "nameSub1", 
      "price": "1", 
      "qte": "14" 
      }, { 
      "id": "sub02", 
      "name": "nameSub2", 
      "price": "8", 
      "qte": "13" 
      }, { 
      "id": "sub03", 
      "name": "nameSub3", 
      "price": "1", 
      "qte": "14" 
      }] 
     }, { 
      "name": "sub A2", 
      "elements": [{ 
      "id": "ssub01", 
      "name": "nameSsub1", 
      "price": "1", 
      "qte": "7" 
      }, { 
      "id": "ssub02", 
      "name": "nameSsub2", 
      "price": "8", 
      "qte": "1" 
      }, { 
      "id": "ssub03", 
      "name": "nameSsub3", 
      "price": "4", 
      "qte": "19" 
      }] 
     }, { 
      "name": "sub A3", 
      "elements": [{ 
      "id": "sssub01", 
      "name": "nameSssub1", 
      "price": "1", 
      "qte": "11" 
      }, { 
      "id": "sssub02", 
      "name": "nameSssub2", 
      "price": "2", 
      "qte": "15" 
      }, { 
      "id": "sssub03", 
      "name": "nameSssub3", 
      "price": "1", 
      "qte": "15" 
      }] 
     }] 
     }, { 
     "name": "city B", 
     "elements": [{ 
      "id": "cc01", 
      "name": "name11", 
      "price": "10", 
      "qte": "11" 
     }, { 
      "id": "cc02", 
      "name": "name22", 
      "price": "14", 
      "qte": "19" 
     }, { 
      "id": "cc03", 
      "name": "name33", 
      "price": "11", 
      "qte": "18" 
     }] 
     }, { 
     "name": "city C", 
     "elements": [{ 
      "id": "ccc01", 
      "name": "name111", 
      "price": "19", 
      "qte": "12" 
     }, { 
      "id": "ccc02", 
      "name": "name222", 
      "price": "18", 
      "qte": "17" 
     }, { 
      "id": "ccc03", 
      "name": "name333", 
      "price": "10", 
      "qte": "5" 
     }] 
     }] 

    $scope.extractSubsities = function(itemSelected) { 
    if(itemSelected && itemSelected.elements){ 
     $scope.data = itemSelected.elements; 
    } 

    } 

    $http.jsonp("http://total.smarteez.eu/submit/?station=101507") 
    .then(function(data) { 
     if($scope.cities && $scope.cities[0] && $scope.cities[0].elements && $scope.cities[0].elements[0]){ 
     $scope.cities[0].elements[0].price = data.data.prix.prix_diesel; 
     $scope.cities[0].elements[0].qte = data.data.prix.prix_essence; 
     } 
    }); 

}]); 

合計.smarteez.euは私のサーバーではありません

URL jsonのデータを読み込むのに手伝ってもらえますか?

UPDATE:私は求めていますので、ありません、それは重複質問はありません

Uncaught SyntaxError: Unexpected token ?station=101507:1

EDIT:私は私のコードを実行すると

、ブラウザは次のようにエラーを発売しましたどのように私のサーバーにない私はクロスドメインの要求のようなものが必要だと思うURL jsonからデータを取得する。

+0

@ water42いいえ私のローカルサーバーにないURL jsonからデータを取得する方法を尋ねているので、これは同じ質問ではありません – Abderrahim

+0

@water42 please私の質問を見て、重複した質問ではないことをあなたに説明するために私はそれを編集しました。ありがとう – Abderrahim

+0

これで助けが必要ですか? – user1275105

答えて

1

私は角度のサービスを使用して情報を取得しようとしていた、私はクロームのコンソールで取得しています何が次である:CORSを可能dowesn't smarteezサーバは、私が意味する、それはdoesnのことを意味し

XMLHttpRequest cannot load http://total.smarteez.eu/submit/?station=101507. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://<<MYIPADDRESS>>' is therefore not allowed access. The response had HTTP status code 401. 

T ...外部接続は、データを取得するために

を許可するあなたはsmarteezサーバーでCORSを有効にする必要があります....しかし、あなたはそれが私が私があなただったら、それがだやる何あなた

ではありません言及しましたPHP変数の内容をでロードする0関数に変換してからJSONに変換して最終的にそれを私の角度コントローラに返します

+0

本当に私はPHPを使いませんでした。私はそれに慣れていません – Abderrahim

+0

あなたはJavaフレームワークを使っていますか?どれ? – WindSaber

+0

いいえAngularJS HTML CSS JAVASCRIPTのみを使用しています – Abderrahim

関連する問題