一尘不染

单击jQuery按钮+发送不带表单的数据-书签

ajax

我正在使用书签功能,其中用户单击jQueryui按钮并将某些信息发送到数据库。但是我没有使用表格,因为没有供用户输入的信息。

我正在从会话数据中提取用户ID,并正在发送URI段(URL的一部分)

使用codeigniter / php。

我试图找出要放在ajax / post函数的数据部分中的内容,因为没有表单/没有输入数据,以及如何处理控制器的“提交”部分。

控制者

function addBookmark(){

        if ($this->input->post('submit')) {

            $id = $this->session->userdata('id');               
            $bookmark = $this->uri->segment(3, 0);

            $this->bookmarks_model->postBookmark($id, $bookmark);
        }

    }

模型

function postBookmark() {

     $data = array(
            'user_id' => $user_id,
            'bookmark_id' => $bookmark,
    );

    $this->db->insert('bookmarks', $data);

    }

的HTML

<button class="somebutton">Add bookmark</button>

jQuery的

$('.somebutton').click(function() {

            $.ajax({
                url: 'controller/addBookmark',
                type: 'POST',
                data: ???,
                success: function (result) {
                  alert("Your bookmark has been saved");
                }
            });

    });

阅读 262

收藏
2020-07-26

共1个答案

一尘不染

您的问题是您正在检查args中的submitPOST。您可以通过发送data: {submit:true}或通过删除if语句并仅处理POST请求来伪造它

$('.somebutton').click(function() {

        $.ajax({
            url: 'controller/addBookmark',
            type: 'POST',
            data: {'submit':true}, // An object with the key 'submit' and value 'true;
            success: function (result) {
              alert("Your bookmark has been saved");
            }
        });

});
2020-07-26