0

ajax を使用して何かを投稿しようとしましたが、Failed to load resource: the server responded with a status of 500 (Internal Server Error). 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) );
}
4

2 に答える 2

1

これがついに映えた

Message:  Undefined property: Home::$form_validation

そして、ロードされていないフォーム検証をロードしました。しかし、それは別のコントローラーにあり、同じエラーを引き起こしていました。何が起こったのかわかりません...しかし、今はうまくいきます。

            $this->load->library('form_validation');
于 2012-08-01T05:41:59.640 に答える
0

削除する必要があります。add_url 関数定義から

変化する

function add_url($user_id, $url, $desc, $one_id);

function add_url($user_id, $url, $desc, $one_id)
于 2012-08-01T04:55:12.767 に答える