2016-07-10 12 views
0

私は、私のフォームのいくつかのカスケードドロップダウンのいくつかのデータを取得するために、$ .getJSON()を使用します。 $ .getJSON()はURLの最後にdomain.com/controller/method/?parent=5のように自動的にパラメータを追加しますCodeigniterルーターのパラメータを取得

私はpublic functionメソッド($ parent)のようなメソッドを宣言していますファイルを作成しますが、domain.com/controller/method/5のように呼び出すウェブサイトの他の部分からも同じ方法が使用されます

$ルート['business/regions /?parent =(:num)'] = 'ビジネス/地域/ $ 1';

しかし、動作していないようです。私は何か間違っているのですか?多分 ?ルータの正規表現パーサを混乱させるのですか?それを何とかして「文字通り」にする必要がありますか? ?

また、パラメータを取得するためにルータが「書き換え」に使用されていないのでしょうか?私は非常に混乱しているはずですが、うまくいきませんし、何が間違っているのか疑問に思っています...

答えて

0

CodeigniterルートパラメータはURLパラメータ用です。これは、RESTスタイルのURLパターンを作成しようとするときに特に便利です。

あなたがしようとしているのは、Codeigniterルータ経由でサポートされていないURLからURLクエリ文字列を取得することです。

$route['business/regions'] = 'business/regions'; 

とあなたのコントローラでBusiness.php:あなたのroutes.phpで

:あなたは、あなたが次の操作を行うことができます欲しいものを得るためには

public function regions() { 
    //the numeric id you're looking for 
    $parent = $this->input->get('parent'); 
} 
+0

うん、それはほとんど何をだIした。私が正確にしたのは、getパラメータをpublic function regions($ parent)のように自分のメソッドに入ってくる変数として宣言することでした。これは、フレームワークのネイティブな動作です。 しかし、私はパラメータもルーティングできるという印象を受けました。それは私の間違いでした。これを明確にしてくれてありがとう! –

+0

問題ありません。これがあなたの質問を解決したら、これを正解とマークしてください! :) – bertmaclin

+1

私はTickアイコンをクリックし、それは緑色に変わった、それはあなたが意味するものなのですか? –

関連する問題