-4

自分自身を繰り返し呼び出す編集スクリプトを CI に移植しました。最初は正常に機能しますが、2 回目は機能しません。成長し続けたのは URI であることがわかりました。

スクリプトのエラーを見つけようとしたり、それらをサブフォルダーに配置したりした後、それとは関係がないことがわかりました。

この基本的なテストをセットアップしました: CONTROLLER test_edit は、url-string を取得するだけです:

  index() 
  {   
      $data['uri_string']=uri_string(); 
      $this->load->view('test_edit',$data);
   }

   index2() 
   {  
      $data['uri_string']=uri_string(); 
      $this->load->view('test_edit',$data);
   }

VIEW test_edit には、url-string と CONTROLLER へのリンクのみが表示されます。

  <p>URI=<?=$uri_string ?></p>;
  <p><a href="test_edit">test_edit</a></p>;
  <p><a href="test_edit/index2">test_edit/index2</a></p>;

この結果、
URI=最初
のリンクを 1 回クリックした後
URI=test_edit/index 最初の

リンクを 2 回クリックした後
URI= test_edit/test_edit/index などになります
。2 番目のリンクをクリックすると、(明らかに) 404 エラーが発生します。

私の質問: - WTF はこれを引き起こしますか??? 呼び出しごとに URI が更新されないのはなぜですか (キャッシュ?)、またはセグメントを追加するもの: ブラウザ、ルータークラス?

NB: base_url の使用については気にしないでください。URI 変換の全体的なポイントは、絶対標準 URL または絶対パスを使用することではありません。これを回避する方法は知っていますが、そうする必要はありません。理解したい。

4

1 に答える 1

1

<a> tags次のように宣言します。

<a href="<?=base_url('test_edit/index2')?>">test_edit/index2</a>

それ以外の:

<a href="test_edit/index2">test_edit/index2</a>

使用していない場合は、base_url()次を使用anchor()CIます。

anchor('string_path', 'title');
于 2013-09-17T15:21:18.543 に答える