Codeigniter Ajax - 错误需要帮助

时间:2014-05-25 17:13:58

标签: php jquery ajax codeigniter

嘿,我是CI的新手,并且已经在互联网上搜索了一个可行的教程,但由于某种原因它无法工作。有人可以帮我提供代码:

正确编辑代码以通过ajax向数据库提交条目而无需重新加载页面?

控制器:

public function index(){
$this->load->helper('url');
$this->load->view('template');

}

function create()
{
    $this->load->library('form_validation');
    $this->load->helper('form');
    $this->load->model('dbmodel');

    $response = array();
    $this->load->model('dbmodel');
    $result = $this->dbmodel->addnew_row();     
}

型号:

public function addnew_row() {

    $data = array(
        'title' => $this->input->post('title'),
        'description' => $this->input->post('description'),
    );
    $result = $this->db->insert('books', $data);
    return $result;
}

查看表单:

<h2>Create</h2> 
<?php echo form_open('welcome/create', array('id'=>'form'));?>


<p>Title: <?php echo form_input('title') ?></p>
<p>Description: <?php echo form_input('description') ?></p> 

<?php echo form_submit('btn_submit','Save'); ?>


<?php echo form_close();?>

查看AJAX:

 // $.POST Example Request
$('#form').submit(function(eve){
    eve.preventDefault();

    var title = $('#title').val();
    var description = $('#description').val();

    url = '<?php echo site_url('welcome/create');?>'
    $.ajax({
        url: url,
        type: 'POST',
        data:{title:title, description:description
        }

        $(#dynamic_container).html(response.output);
    });
});

1 个答案:

答案 0 :(得分:1)

好的,首先,您需要在使用之前简要介绍jQuery.ajax()的语法。

现在通过你在问题中提到的AJAX代码,这段代码不应该在那里

$(#dynamic_container).html(response.output);

AJAX提供Callback Function Queues在AJAX调用成功完成之前/之后操作响应,在您使用success的情况下将解决问题:

  $.ajax({
        url: url,
        type: 'POST',
        data:{title:title, description:description
        },
        success : function(response){
        $(#dynamic_container).html(response.output);
        }
    });

您可能对使用jQuery.post()感兴趣。