0

何が問題なのかわからない。ユーザー名をコントローラーに送信する ajax があります。

function my_profile(username){

    $.ajax({

       url: "member/my_profile",
       type: "get",
       data: "username="+username,
       success: function(){
           window.location.href = 'member/my_profile';
       }
    });
} 

そして、これは私のコントローラーです:

function my_profile(){


    $username = $this->input->get('username');
    $data['username'] = $username;
    $this->load->view('my_profile' , $data);
} 

$username を既にエコーして、ajax からアラート (msg) できることをテストしました。見つけるだけで機能します。問題は、私のビューに何も表示されないことです:

    <h1>My Profile</h1>

<?php

echo $username;
?> 

どうしてか分かりません。私は初期化を試みましたが$data['username'] = 'adam' 、これは機能します。

4

2 に答える 2

2

問題はあなたwindow.location.href = 'member/my_profile';です。これにより、値のないプロファイル ページにリダイレクトされますusername

あなたはおそらくやりたい:

 window.location.href = 'member/my_profile?username='+username;

ただし、なぜAJAX呼び出しがあるのか​​ まだわかりません。あなたはただできませんでした:

function my_profile(username){
     window.location.href = 'member/my_profile?username='+username;
}

あなたのAJAX呼び出しはページをロードしてからコンテンツを破棄しています.ここでは必要ないと思います.

于 2013-09-24T18:46:02.347 に答える
1
$.ajax({
   url: "member/my_profile",
   type: "get",
   data: "username="+username,
   success: function(){
       window.location.href = 'member/my_profile';
   }
});

する必要があります:

$.ajax({
   url: "member/my_profile?username=" + username,
   type: "get",
   success: function(){
       window.location.href = 'member/my_profile';
   }
});
于 2013-09-24T18:23:30.290 に答える