簡體   English   中英

在Codeigniter中使用Ajax提交表單

[英]Submit form using Ajax in codeigniter

我想在codeIgniter中使用Ajax提交表單,但出現錯誤。

這是我的查看代碼;

<div class="form-group input-control">
    <p id="error1" style="display: none; color: green"><b>Registered Successfully.</b></p>
    <p id="succ" style="display: none; color: red"><b>E-mail Alreay Registered.</b></p>
    <button class="button" onclick="newsletter()"><span class="icon-envelop"></span></button>
    <input type="text" class="form-control" placeholder="Your E-mail..." value="" id="newsletter" onblur="if (this.value == '') {this.value = 'Your E-mail...';}" onfocus="if(this.value == 'Your E-mail...') {this.value = '';}">
    <br>
    <p id="error" style="display: none; color: red"><b>Please Enter E-mail.</b>
        <p>
            <p id="error2" style="display: none; color: red"><b>Error while request..</b>
                <p>
</div>

這是我的腳本:

<script>
    function newsletter() {
        var email = $("#newsletter").val();
        if (email == "") {
            $("#error").css("display", "block");
        } else {
            $.ajax({
                type: "post",
                url: "<?php echo site_url();?>/shopit/index/newsletter",
                cache: false,
                data: 'search=' + email,
                success: function(response) {
                    if (response == "succ") {
                        $("#succ").css("display", "block");
                        $("#error").css("display", "none");
                        $("#error1").css("display", "none");
                        $("#error2").css("display", "none");
                    } else {
                        $("#succ").css("display", "none");
                        $("#error").css("display", "none");
                        $("#error1").css("display", "block");
                        $("#error2").css("display", "none");
                    }
                },
                error: function() {
                    $("#succ").css("display", "none");
                    $("#error").css("display", "none");
                    $("#error1").css("display", "none");
                    $("#error2").css("display", "block");
                }
            });
        }

    }
</script>

這是我的控制器功能代碼;

public function newsletter(){
    $search=  $this->input->post('search');
    $result = $this->Index_model->newsletter($search);
    echo $result;
}

最后是我的模型函數:

public function newsletter($search){
    $query = $this->db->get_where("shopit_newsletter", array('email'=>$search));
    $result = $query->result();

    if($query->num_rows() > 0){
            echo "error";
    }else{
        $data = array(
            "email"=>$search
        );
        $this->db->insert("shopit_newsletter", $data);
        echo "succ";
    }
}

這是引發錯誤並轉到錯誤,此代碼有什么問題,請幫助我,我已經用Google搜索過,但沒有找到確切的結果。

這是控制台快照。

控制台快照

首先Model功能應該是

 public function newsletter($search)
{
    $query  = $this->db->get_where("shopit_newsletter", array('email'=>$search));
    $result = $query->result();    
    if($query->num_rows() > 0)
    {
        return "error";
    }
    $data = array(
        "email"=>$search
    );
    $this->db->insert("shopit_newsletter", $data);
    return "succ";        
}

控制器應該是

public function newsletter(){
    $search=  $this->input->post('search');
    $result = $this->Index_model->newsletter($search);
    echo json_encode(array("data"=>$result));
}

並在ajax請求中

success: function(response) {
if (response.data == "succ") {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM