5

私はcodeigniterを初めて使用し、ajaxを機能させることができません。
リンクをクリックするとメインドキュメントにコンテンツが読み込まれるようにしようとしています。
指示を探しましたが、わかりませんでした。ajaxがメッセージを返す以外はすべて機能しalert('ERROR')ます。何もロードされてい<div id='load_here'></div>
ません多分私はconfig.phpに何かが欠けていますか?これを機能させるには、ライブラリをロードする必要がありますか?どんなアイデアも役に立ちます//メインドキュメントリンク

<span id='reg_link_rules'>Link</span>  
<div id='load_here'></div>

//コントローラー

class Register extends CI_Controller {
   public function hello()
   {
      echo 'hello';
   }
}

// jQuery

$(document).ready(function() {
    $('#reg_link_rules').click(function(eve){

    $.ajax({
      type: "GET", 
      url: "register/hello", 

      complete: function(data){
        $('#load_here').html(data);
    },
    error: function(){alert('error');}
    });
  });
});

問題は、ajaxのURLがコントローラーにアクセスしないことだと思います。Z:/ home / codeigniter / www / register/testこれは私がかかると思うところです

問題は解決しました。URLはhttp://codeigniter/index.php/register/helloである必要がありました

4

6 に答える 6

6

URL: "/ register/hello"で試してください。

トリックをするかもしれません。

通常、私は

<script type="text/javascript">
    base_url = '<?=base_url()?>';
</script>

私のページの冒頭で、そして単に

base_url+"register/hello"

代わりは

これにより、/が正しくない場合でも、私のajaxの信頼性が高まります。

于 2012-05-01T13:26:25.450 に答える
6
complete: function(data){
        $('#load_here').html(data);
    },

する必要があります

別のSO質問を参照するだけです... AJAX呼び出しでsuccess()またはcomplete()を使用します

success: function(data){
        $('#load_here').html(data);
    },

$.ajax({
  type: "GET", 

する必要があります

フォーム変数をURLに沿って送信する場合を除きます。

$.ajax({
  type: "POST", 
于 2012-05-01T13:28:00.587 に答える
0

こんにちはURLAjaxにベースURLを追加する必要があります。

 $.ajax({
  type: "GET", 
  url: <?php echo base_url();?>"register/hello", 

  complete: function(data){
    $('#load_here').html(data);
},

コントローラでヘルパーURLを有効にすることを忘れないでください!

乾杯

于 2013-10-16T01:44:57.440 に答える
0
you need to pass the bas_url to ajax file

<script type="text/javascript">

$(document).ready(function(e) {
    var baseurl = <?php echo base_url();?>

    $('#reg_link_rules').click(function(){

        $.ajax({
            url : baseurl+'index.php/register/hello',
            data : '',
            type: "POST",
           success : function(){


            }
        })
        return false;
    })

});

</script>
于 2013-12-30T13:49:34.950 に答える
0

文字列にindex.phpを追加しなければならない場合があります。そのようです:

 $.ajax({
  type: "GET", 
  url: <?php echo base_url();?>"index.php/register/hello", 

  complete: function(data){
    $('#load_here').html(data);
},

しかし、それはすべてあなたの設定ファイルに関するものです。私の場合は間違いでした。それが役に立てば幸い。

于 2017-11-21T09:35:06.533 に答える
0

あなたは2つの問題を確実にする必要があります

ajax部分をurl:?php echo base_url();?> "register / hello"として入力し、 "GET"と入力してください。また、config/routes.phpでURLがルーティングされているかどうかを確認する必要があります。

于 2019-09-03T12:16:33.510 に答える