Codeigniter - 尝试发布ajax时出现内部服务器错误
问题描述:
我一直在尝试使用ajax发布某些内容,但我得到Failed to load resource: the server responded with a status of 500 (Internal Server Error)
。网站上使用Ajax工作的所有其他表单都是唯一发生错误的表单。不知道发生了什么...也许有人会注意到我不是。Codeigniter - 尝试发布ajax时出现内部服务器错误
的jQuery (USER_ID在视图中已经定义。警报返回一切我需要传递给控制器)
$('.one_add').submit(function(e) {
e.preventDefault();
var formID = $(this).attr('id');
var formIDSplit = formID.split('-');
var oneID = formIDSplit[1];
var url = $('.one-link-'+oneID).val();
var desc = $('.one-link-desc-'+oneID).val();
$.post(base_url + "index.php/home/one_link", { user_id : user_id, one_id : oneID, desc : desc, url : url }, function(data)
{
}, "json");
// alert(user_id+'-'+oneID+'-'+desc+'-'+url);
});
形式
<?php
$attributes = array('class' => 'one_add', 'id' => 'add-'.$job->id.'');
echo form_open('ajax/add_one_link', $attributes); ?>
<input type="text" class="one-link-<? echo $job->id; ?>" value="Url" />
<input type="text" class="one-link-desc-<? echo $job->id; ?>" value="Description" />
<button type="submit">Go!</button>
<?php echo form_close(); ?>
控制器功能
function one_link()
{
$this->load->model('one_add_model');
$this->form_validation->set_rules('user_id', 'trim|required|xss_clean');
$this->form_validation->set_rules('url', 'trim|required|xss_clean|strtolower');
$this->form_validation->set_rules('desc', 'trim|required|xss_clean|strtolower');
$this->form_validation->set_rules('one_id', 'trim|required|xss_clean');
$user_id = $this->input->post('user_id');
$url = $this->input->post('url');
$desc = $this->input->post('desc');
$one_id = $this->input->post('one_id');
$this->one_add_model->add_url($user_id, $url, $desc, $one_id);
}
该模型
function add_url($user_id, $url, $desc, $one_id);
{
$query_str = "INSERT INTO one_add (`user_id`, `url`, `desc`, `one_id`) VALUES (?, ?, ?, ?)";
$this->db->query($query_str, array($user_id, $url, $desc, $one_id));
}
答
这终于露出
Message: Undefined property: Home::$form_validation
而我只是其中加载未加载的形式validaton。但它在另一个控制器中,导致了同样的错误。不知道发生了什么......但它现在起作用。
$this->load->library('form_validation');
答
您需要删除;从add_url函数定义
变化
function add_url($user_id, $url, $desc, $one_id);
到
function add_url($user_id, $url, $desc, $one_id)
是的,错误消息已打开。这是导致问题的唯一形式。我用其他形式进行了一些测试,其中我故意破坏了某些内容,并给出了错误消息。 – Ciprian 2012-08-01 05:01:33