[英]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.