2017-01-13 8 views
0

私はhttp_get関数にsession_idを渡すのに問題があります。http.getを介してIonic/AngularJSにIDを渡します。

HERESに私のコントローラ:私はコードで参照

.controller('feedCtrl', function($scope,$rootScope,$ionicHistory,$state,$http) { 
 

 
    $scope.session_id= sessionStorage.getItem('session_id'); 
 
    if($scope.session_id == null){ 
 
     $state.go('login'); 
 
    } 
 
    else { 
 
     $http.get('https://m.socialnetwk.com/home/app/feed_load.php?id='+ $scope.session_id +).then(function(rest) { 
 
      $scope.records = rest.data; 
 
     }); 
 
    } 
 
    
 
})

+0

詳細を追加できますか?たとえば、最初にsession_idをどのように保存しますか? – Antoine

+0

セッションは、 を介してログインコントローラに保存されます。 '$ scope.user_details = response.records; sessionStorage.setItem( 'session_id'、$ scope.user_details.session_id); sessionStorage.setItem( 'session_username'、$ scope.user_details.session_username); sessionStorage.setItem( 'session_email'、$ scope.user_details.session_email); ' –

+0

コンソールにエラーはありますか? – ozgur

答えて

0

エラー:

あなたはsessionStorageサービスを注入するために行う必要があります。 URLの末尾にある+を削除してください。

チェック例:Link

+0

例を挙げてください。私はIonicとangularjsの新機能です –

+0

これはPHPサーバー側では動作しています。 '$ _GET ['id']'を使ってIDを取得しません。私はログに、IDがURLにあることをコントローラのget関数で確認できます。 –

0

uはどのように「https://m.socialnetwk.com/home/app/」エンドポイント作品説明し、それがどのようなエラーが発生しない場合を除き、私は正確に問題が何であるかを知っているwouldntのが、私の疑惑は、あなたが言うように、あなたがSESSION_IDを渡す必要があるということで、取得しないで、$ http.getの代わりに$ http.postを使用する必要があります

+0

あなたの右のAah、それは私のジレンマです。/app /で何が起こるか - クエリは、URLからIDを取得する必要があります。例えば '3'です。クエリはuser_id 3でデータを選択し、次にコントローラでデータを選択します。それは、データクエリの結果を取得する必要があります –

0

あなたのhttpリクエストは郵便配達でテストされています。

https://m.socialnetwk.com/home/app/feed_load.php?id=4235 

とリターン:

[ 
{ 
"firstname": "4235", 
"lastname": "Round", 
"profile_image": "jpg/55529055162cf0.jpg", 
"lastname": "Round", 
"iframe": "", 
"media_format": "img", 
"media_file_format": "jpg", 
"media_post_id": "5851875bda5b3", 
"media_author_id": "3", 
"mediatxt": "" 
}, 
{ 
"firstname": "4235", 
"lastname": "Round", 
"profile_image": "jpg/55529055162cf0.jpg", 
"lastname": "Round", 
"iframe": "", 
"media_format": "img", 
"media_file_format": "jpg", 
"media_post_id": "583c459a745a4", 
"media_author_id": "3", 
"mediatxt": "" 
}, 
{ 
"firstname": "4235", 
"lastname": "Round", 
"profile_image": "jpg/55529055162cf0.jpg", 
"lastname": "Round", 
"iframe": "", 
"media_format": "img", 
"media_file_format": "jpg", 
"media_post_id": "583c4597778c1", 
"media_author_id": "3", 
"mediatxt": "" 
}, 
{ 
} 
] 

ので、あなたのエラーは次のとおりです。

$ scope.session_id = sessionStorage.getItem( 'SESSION_ID');

$ scope.sessionあなたは未定義になるでしょう。したがって、httpリクエストは空の配列を返します。

のは

ジェクトのsessionStorageそれを修正してみましょう。 ngStoreを使用していると仮定して、$ sessionStorageを注入する必要があります。

例:

.controller('feedCtrl', function($scope,$rootScope,$ionicHistory,$state,$http, $sessionStorage) 

変更してコード:

$ scope.session_id = sessionStorage.getItem( 'セッション_');

$ http.get( 'https://m.socialnetwk.com/home/app/feed_load.php?id=' + $ scope.session_id +)、次いで(関数(REST){ $ scope.records = rest.data; })。

へ:

$ scope.session_id = $ sessionStorage.getItem( 'SESSION_ID');

URLの最後に+を付けてください。

$ http.get( 'https://m.socialnetwk.com/home/app/feed_load.php?id=' + $ scope.session_id).then(関数(REST){ $ scope.records = rest.data; })。

Jackkがあなたに伝えます。

私の英語のために残念です。

関連する問題