我試圖提交一個表單使用jquery ajax沒有codeigniter只是爲了瞭解ajax如何工作。它工作得很好,但現在我想在codeigniter中執行它(因爲我正在CI中開發我的應用程序)。它不會在數據庫中插入值。我不知道如何檢查問題出在哪裏jquery ajax表單提交不與codeigniter工作,但工作否則
這是我的看法形式: -
<form name="article_form" method="POST" action="">
<input type="text" name="title" placeholder="Title for your article" />
<br>
<textarea rows="12" name="body" placeholder="Tell your story"></textarea>
<br>
<input type="submit" name="submit_article" id="submit_article" value="Post" />
</form>
這是我的jQuery AJAX腳本: -
<script language='JavaScript' type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js'></script>
<script>
$('#submit_article').click(function(){
var article_title = document.getElementById("title").value;
var article_body = document.getElementById("body").value;
$.ajax({
url: '<?php echo base_url()."main/submit_article";?>',
type: 'POST',
dataType: 'json',
data: 'title='+article_title + '&body='+article_body,
success: function(output_string){
$('#result_table').append(output_string);
}
});
});
</script>
主要是控制器和這個函數submit_article: -
public function submit_article()
{
$article_title = $this->input->post('title');
$article_body = $this->input->post('body');
$this->load->model("model_articles");
if($this->model_articles->article_submit($article_title, $article_body))
{
return true;
}
else
{
return false;
}
}
這加載模型 - model_articles並傳遞兩個值即$ article_title和$ article_body函數article_submit()。這是在模型的功能有值插入到數據庫: -
public function article_submit($article_title, $article_body)
{
$article_data = array(
'title' => $article_title,
'body' => $article_body
);
$query_insert_article = $this->db->insert('articles', $article_data);
if($query_insert_article)
{
return true;
}
else
{
return false;
}
}
你肯定沒有記錄在您的數據庫被輸入?如果您在控制器中嘗試var_dump($ article_title,$ article_body);'會發生什麼? – hohner 2013-02-24 15:41:33
我得到這個bool(false)bool(false) – 2013-02-24 15:44:31
嗨,0,0被存儲在數據庫中。這意味着插入功能ios工作。我認爲這個價值並沒有從視野中達到控制者。有沒有辦法檢查這個? – 2013-02-24 17:06:41