我的ajax没有在codeigniter中给出结果

时间:2018-07-22 05:52:43

标签: codeigniter

我正在通过ajax注册用户,用户已插入数据库中,但是我的加载器继续显示加载,并且没有隐藏,此外我发出了警报以查看结果,但也未显示 因此,如果我做错了,请帮助我。 这是我的观点

 <tr>
    <td style="width: 25%;"><p>Name</p>
    <input type="text" name="name" id="name_r" 
    placeholder="Enter name" required=""/>
    </td> 

    <td style="width: 25%;"><p>username</p>
    <input type="text" name="username" id="uname" 
    placeholder="Enter username" required=""/>  
    </td>   

  </tr> 

我的脚本是

 $(document).ready(function(){
  $("#register_staff").click(function(){
  var name = $("#name_r").val();
  var username = $("#uname").val();

  if (name && username) {
  $('#loader_register').show();        
    $.ajax(
            {
              type: "POST",
              url:"<?php echo 
           base_url('register_management_staff')? 
           >",
              data:{name:name,username:username},
              success: function(result){
                  alert(result);
              $('#loader_register').hide();
              $('#name_r').val("");

              $('#result_register').html(result);
              }
            }
          );
    }
    else{  
 document.getElementById
('result_register').innerHTML='<font color=red>
Please fill all fields.</font>';

    }

  });
}); 

我的控制器是

public function register_management_staff()
{  
$post['name']= $_REQUEST['name'];
$post['username']= $_REQUEST['username'];

$result =  $this->managementmodel
->register_management_staff($post);
if($result == 1){
   echo '<font color=green>Congrats! Successfully 
 Register.</font>';
         }
  else{
  echo '<font color=red>Please enter correct data 
  and check availability.</font>';
         } 
  }

我的模特是

public function register_management_staff($post)
{

 $this->db->insert('management_login',$post);
       return 1;

}

2 个答案:

答案 0 :(得分:0)

如果您有一个ID为register_staff的按钮,则>

编辑脚本并使用它

$(document).ready(function(){
  $("#register_staff").on('click',function(){
  var name = $("#name_r").val();
  var username = $("#uname").val();
  if (name && username) {
    $('#loader_register').show();        
    $.ajax({
              type: "POST",
              url:"<?php echo base_url('register_management_staff'); ?>",
              data:{name:name,username:username},
              success: function(result){
                  alert(result);
                  $('#loader_register').hide();
                  $('#name_r').val("");
                  $('#result_register').html(result);
              }
         });
    }
    else{  
       $('#result_register').html("<font color='red'>Please fill all fields.</font>");
    }
  });
}); 

答案 1 :(得分:0)

在您的ajax代码中,在url中提供正确的路径

$.ajax(
        {
          type: "POST",
          url:"<?php echo 
      site_url('register_management_staff')? 
       >",
          data:{name:name,username:username},
          success: function(result){
              alert(result);
          $('#loader_register').hide();
          $('#name_r').val("");

          $('#result_register').html(result);
          }
        }
      );

此处的ajax网址必须类似于 url:"<?php echo site_url('controller_name/method');?>"

尝试更改