2017-03-31 10 views
0

イメージ「ダッシュボード」と呼ばれるページ。ダッシュボードにはドロップダウンメニューがあり、項目はPHPスクリプトによってリストされ、その数はデータベースからの結果の数によって異なります。今角度ルーティングのあるページから別のページへの情報の取得

State 1 - Dashboard with opened drop-down menu

ユーザーがメニューから項目のいずれかをクリックしたときに、それはいくつかのデータ(ID、タイプ)と、設定ページに彼をリダイレクトする必要があります。単純ですが、使用されるリダイレクト方法は角度で行われるため、サイトを更新せずにURLハッシュを使用します。設定ページのURLは、次のようになります。

https://www.example.com/index.php#/configure

...と私はそこにいくつかのデータを取得したいです。私たちが見るサイトには空のサイトだけがあり、ファイルツリーでは「configuration.php」という名前が付けられていますが、「configure.module.js.php」の角度コードのためURLには表示されません」、単にユーザーをリダイレクトしている、と彼らに右のサイトを与える:

(function() { 
    'use strict'; 

    angular.module('BlurAdmin.pages.configure', []) 
     .config(routeConfig); 

    /** @ngInject */ 
    function routeConfig($stateProvider) { 
    $stateProvider 
     .state('configure', { 
      url: '/configure', 
      title: 'Configuration', 
      templateUrl: 'app/pages/configure/configure.php', 
      controller: 'addCtrl', 
     }); 
    } 

})(); 

だから、私は自分のサイトにデータを取得したい場合、私はGETリクエストのいくつかの種類が必要であることを、前提としています。

https://www.example.com/index.php?something=works&omg=itWorks#/configure 

だから私のindex.phpのは、GETデータと連携して、コンフィギュレーションで使用することができSESSION、それらを書き込みます:私はそれは私がそうのようなGETリクエストを使用した場合に動作することを、考え出しました。 PHP!

まあ、それは動作します...しかし、主なことは、それはすべての角度ですので、すべてのサイトをリフレッシュ!これは、私のファイルが更新されないことを意味するので、ボタンをもう一度クリックすると、サイトはGETリクエストを再度取得せず、単に新しいデータを処理せずに私をconfiguration.phpにリダイレクトします。最初のGETパラメータとSESSIONを維持します。

私の質問になります。それを作る方法?サイトを更新せずに、そのデータをconfiguration.phpに送るには、そのワンクリックが本当に必要ですが、作業と更新が必要です。 HTMLで

+0

一部のチュートリアルを使用するhttps://www.sitepoint.com/write-modular-code-angular-ui-router-named-views/ – jos

+0

Angularは、Ajaxを使用してデータを要求するクライアント側の「フレームワーク」です。サーバーをHTMLテンプレートにロードします。データをPHPファイルに渡して、Angularを使用してレンダリングしようとすると、角度ルーティングはあなたのためではありません。 HTMLテンプレートをAngularに渡し、必要なデータがあればAjaxリクエストをサーバに送る必要があります。また、Angularのルーティングを使わずに新しいPHPページにリダイレクトすることもできます。 – eric

+0

"サイトにデータを取得"しません。 '$ http.get'を使用して**サイト**からデータ*を取得し、** $ http.post'を使用してデータ**をサイト**に送信します。詳細については、[MDN Web Techology Reference - HTTP request methods](https://developer.mozilla)を参照してください。org/ja-ja/docs/Web/HTTP /メソッド)。 – georgeawg

答えて

1

あなたはUI-SREFは、あなたのコントローラ内のファイルの設定

url:'/configure/:id' 

でこの

ui-sref="configure/({id: valueid}) 

を好きに加えるには、$を追加するには、この

function addCtrl($scope,$http,$stateParams) 

と使用AJAXなどのstateParams GET

var params = $.param({'id':$stateParams.id}) 

     $http({ 
        method:'GET', 
        url:'yoururl?id=' + $stateParams.id, 
        data:params, 
        headers : { 'Content-Type': 'application/x-www-form-urlencoded' } 

       }).then(onSuccess); 
関連する問題