Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ajax提交表单后无法显示消息_Javascript_Php_Jquery_Ajax_Codeigniter - Fatal编程技术网

Javascript 使用ajax提交表单后无法显示消息

Javascript 使用ajax提交表单后无法显示消息,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我正在尝试使用CodeIgniter中的AJAX提交表单。表单的值将保存在DB中,但控制器中设置的回复不会显示在控制台中。日志或警报将显示在AJAX代码中 格式代码 <form class="form-signup" id="signup-form" method="post"> <input type="email" class="form-control" place

我正在尝试使用
CodeIgniter
中的
AJAX
提交表单。表单的值将保存在DB中,但控制器中设置的回复不会显示在
控制台中。日志
警报
将显示在
AJAX
代码中

格式代码

<form class="form-signup" id="signup-form" method="post">
    <input type="email" class="form-control" placeholder="Email" name="email" id="email">
    <input type="password" class="form-control" placeholder="Password" name="password" id="password">
    <button type="submit" class="btn btn-primary btn-lg btn-signup col-sm-offset-1" id="submit_form">SIGN UP</button>
</form>
型号代码

<script type="text/javascript">
    $(document).ready(function() {
        $("#submit_form").click(function(event) {
        event.preventDefault();
        var email = $("input#email").val();
        var password = $("input#password").val();
        jQuery.ajax({
        type: "POST",
        url: "<?php echo base_url(); ?>" + "student/register",
        dataType: 'json',
        data: {email: email, password: password},
        success: function(res) {
        if (res)
            {
                console.log(res); //need to print the result here
                //alert(res);
            }
        }
        }); 
   });  
});
public function register()
{
     $data = array(
          'email' => $this->input->post('email'),
          'password'=>$this->input->post('password')
     );
      
     $email = $data['email'];
     $password = $data['password'];

     $this->db->where('email',$email);
     $query = $this->db->get('student'); 
     if ($query->num_rows() > 0)
     {
         echo "Email already exist";
     }
     else
     {
        $data1=array(
            'email' => $email,
            'password' => md5($password)
        );
        
        $final=$this->signin_model->register_user($data1);
        return $final;     
     }   
}
public function register_user($data1)
{        
     $success=$insert_data = $this->db->insert('student', $data1);
     if($success)
     {
         $result= "success ";
     }
     else
     {
         $result= "register unsuccessful";
         return $result;           
     }
 }
   
如代码所示,共有3条消息

电子邮件已经存在

成功

注册失败

在AJAX中,如果我执行
console.log
alert
,我希望根据流显示上述三条消息中的任意一条


如何在前端显示回复?

您必须使用echo而不是return才能成功

请按如下方式更改

if ($query->num_rows() > 0)
{
   echo "Email already exist";
}
else
{
   $data1=array(
         'email' => $email,
         'password' => md5($password)
       );

   $final=$this->signin_model->register_user($data1);
   echo $final;     
}   
并删除一起初始化的两个变量。这是没有必要的。这很好。
$success=$this->db->insert('student',$data1)


希望这能对您有所帮助。

您必须使用echo而不是return获得成功

请按如下方式更改

if ($query->num_rows() > 0)
{
   echo "Email already exist";
}
else
{
   $data1=array(
         'email' => $email,
         'password' => md5($password)
       );

   $final=$this->signin_model->register_user($data1);
   echo $final;     
}   
并删除一起初始化的两个变量。这是没有必要的。这很好。
$success=$this->db->insert('student',$data1)


希望这能对您有所帮助。

您使用的ajax的数据类型为json。因此,如果希望在前端显示数据,可以用json对回复进行编码,或者需要从ajax中更改或删除json数据类型,您使用的ajax的数据类型为json。因此,如果您希望在前端显示数据,或者用json编码回复,或者需要更改或删除ajax中的json数据类型,请将数据类型:“json”更改为数据类型:“text”

<script type="text/javascript">
    $(document).ready(function() {
        $("#submit_form").click(function(event) {
        event.preventDefault();
        var email = $("input#email").val();
        var password = $("input#password").val();
        jQuery.ajax({
        type: "POST",
        url: "<?php echo base_url(); ?>" + "student/register",
        dataType: 'text',
        data: {email: email, password: password},
        success: function(res) {
        if (res)
            {
                console.log(res); //need to print the result here
                //alert(res);
            }
        }
        }); 
   });  
});

$(文档).ready(函数(){
$(“#提交表格”)。单击(功能(事件){
event.preventDefault();
var email=$(“输入电子邮件”).val();
var password=$(“输入密码”).val();
jQuery.ajax({
类型:“POST”,
url:“+”学生/注册者“,
数据类型:“文本”,
数据:{电子邮件:电子邮件,密码:密码},
成功:功能(res){
如果(res)
{
console.log(res);//需要在此处打印结果
//警报(res);
}
}
}); 
});  
});

请将数据类型:'json'更改为数据类型:'text'

<script type="text/javascript">
    $(document).ready(function() {
        $("#submit_form").click(function(event) {
        event.preventDefault();
        var email = $("input#email").val();
        var password = $("input#password").val();
        jQuery.ajax({
        type: "POST",
        url: "<?php echo base_url(); ?>" + "student/register",
        dataType: 'text',
        data: {email: email, password: password},
        success: function(res) {
        if (res)
            {
                console.log(res); //need to print the result here
                //alert(res);
            }
        }
        }); 
   });  
});

$(文档).ready(函数(){
$(“#提交表格”)。单击(功能(事件){
event.preventDefault();
var email=$(“输入电子邮件”).val();
var password=$(“输入密码”).val();
jQuery.ajax({
类型:“POST”,
url:“+”学生/注册者“,
数据类型:“文本”,
数据:{电子邮件:电子邮件,密码:密码},
成功:功能(res){
如果(res)
{
console.log(res);//需要在此处打印结果
//警报(res);
}
}
}); 
});  
});

插入后,您尚未在模型中添加成功的
返回。我的回答中没有添加这一点。但是在您的模型中,我可以看到它。您没有在插入后在模型中添加成功的
return
。我的回答中没有添加这一点。但在你的模型中,我可以看到。