将带有JQuery的变量传递给Controller - PHP Codeigniter

我正在使用PHP Codeigniter处理项目。 我想知道如何将带有JQuery的变量发送到控制器。 下面是我的代码</ p>

 &lt; script&gt; 
function Reset_User_Password(id){

$ .post(“&lt;?= base_url();?&gt; WebAdmin / Reset_User_Password / id“,{id:id},function(page_response)
{
$(”。modal-body“)。html(page_response);
});

}
&lt; / script&gt;
</ code> </ pre>

这里我首先从函数参数中获取变量'id'。 但是,当我运行此代码时,它返回字符串'id'而不是数据库中的实际用户ID。 我想查看用户ID。 下面是来自控制器的函数.. </ p>

 公共函数Reset_User_Password()
{
$ data ['admin_id'] = $ this-&gt; uri-&gt; segment(3);

$ this-&gt; load-&gt; view('admin / user / reset_user_password',$ data);
}
</ code> </ pre>
</ div >

展开原文

原文

I am working on a project using PHP Codeigniter. I want to know how can I sent a variable with JQuery to the controller. Below is my code

<script>
 function Reset_User_Password(id){

  $.post("<?=base_url();?>WebAdmin/Reset_User_Password/id", {id: id}, function(page_response)
  {
  $(".modal-body").html(page_response);
  });

 }
</script>

Here I'm first getting the variable 'id' from function parameter. But when I run this code, it return the string 'id' instead of the actual user id from database. I want to view the user id. Below is my function from the controller..

public function Reset_User_Password()
{
$data['admin_id'] = $this->uri->segment(3);

$this->load->view('admin/user/reset_user_password', $data);
}

3个回答



您可以获取此代码的帮助。 结束</ strong> </ p>

<前> 函数正常工作</ strong>函数Reset_User_Password(){

var currentpwd = document.getElementById (“currentpwd”)。value;

var newpwd = document.getElementById(“newpwd”)。value;

var cnfrmnewpwd = document.getElementById(“cnfrmnewpwd”)。value;

var url =“&lt;?php echo base_url('user / changepwd');?&gt;”

$ .ajax({

type:“POST”,

data:{currentpwd:currentpwd, newpwd:newpwd,cnfrmnewpwd:cnfrmnewpwd},

url:url,

success:function(data){

if(data){

$('#newsleter')。html (数据);

}
}

});

}
</ code> </ pre>
</ div>

展开原文

原文

You can take help with this code. It is working perfectly at my end

function Reset_User_Password(){

    var currentpwd= document.getElementById("currentpwd").value;

    var newpwd = document.getElementById("newpwd").value;

    var cnfrmnewpwd = document.getElementById("cnfrmnewpwd").value;

    var url = "<?php echo base_url('user/changepwd'); ?>"

    $.ajax({

        type:"POST",

        data:{currentpwd:currentpwd,newpwd:newpwd,cnfrmnewpwd:cnfrmnewpwd},

        url:url,

        success:function(data){ 

             if(data){

             $('#newsleter').html(data); 

             }
        }   

    }); 

}



使用</ p>

  $ this-&gt; input-&gt; post('id  '); 
</ code> </ pre>

请勿使用 $ this-&gt; uri-&gt; segment(3); </ code>,因为您发布的是id 如果您想使用 $ this-&gt; uri-&gt; segment(3); </ code>,请使用post方法在函数中进行minior miodification </ p>

  $ .post(“&lt;?= base_url();?&gt; WebAdmin / Reset_User_Password /”+ id,function(page_response)
{
$(“。modal-body”)。html(page_response); \ n});
</ code> </ pre>
</ div>

展开原文

原文

Use

$this->input->post('id');

Don't use $this->uri->segment(3); because you are posting id by post method if you want to use $this->uri->segment(3); then do a minior miodification in your function

     $.post("<?=base_url();?>WebAdmin/Reset_User_Password/"+id, function(page_response)
      {
      $(".modal-body").html(page_response);
   });



通过发送数据POST方法</ code>不会作为 GET方法</ code>附加到url中。 所以你不能使用 $ this-&gt; uri-&gt; segment()</ code>。</ p>

而是使用</ p>

< pre> $ data ['admin_id'] = $ this-&gt; input-&gt; post('id');
</ code> </ pre>
</ div>

展开原文

原文

Send data by POST method is not append in url as GET method. So you can't get is using $this->uri->segment().

Instead use

$data['admin_id']=$this->input->post('id');

douwen7603
douwen7603 欢迎您@ AjmalRazeel享受
大约 4 年之前 回复
doujiang1832
doujiang1832 有用。 谢谢。
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问