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 回答