使用JS + Ajax和CodeIgniter发布序列化字符串

时间:2015-05-24 00:18:29

标签: javascript php jquery ajax codeigniter

我有一个ul项目列表,可以使用JQueryUI sortable进行排序。目前,我能够毫无问题地拖动和重新排列ul项目,并且我正在生成一个像我一样的console.debug消息,但是,它似乎并没有将数据发布到我的控制器& #39;处理数据的方法,并将其发送到我的模型以更新SQL DB。

基本上,管理员将在网站上显示活动页面列表,并允许他们重新排列网站正面的导航链接顺序。

$(document).ready(function() {
    $('#sortable').sortable(
        {
            axis: 'y',
            update: function (event, ui) {
                var data = $('#sortable').sortable('serialize');

                var getUrl = window.location;
                var baseUrl = getUrl .protocol + "//" + getUrl.host + "/" 
                    + getUrl.pathname.split('/')[1];

                console.debug(data);
                // POST to server using $.post or $.ajax
                $.ajax({
                    data: data,
                    type: 'POST',
                    url: baseUrl + '/admin/pages/update/'
                });
            }
        }
    );
});

拖动列表中的元素将生成调试消息, id[]=2&id[]=1&id[]=3&id[]=4&id[]=7&id[]=6&id[]=5&id[]=8&id[]=9&id[]=10 这对于我尝试做的事情来说是完美的

上面应该发布到我的Pages控制器的以下方法。我目前正在使用一些被黑客攻击的代码用于我自己的学习,试图让它发送调试消息。如果我直接访问/ pages / update,它会显示调试消息,然后重定向到/ pages / index。

public function update()
{
    echo '<script type="text/javascript">';
    echo 'console.debug("Update Page Accessed:");';
    echo '</script>';
    redirect('admin/pages/index', 'refresh');
}

如果我可以在拖动元素后显示调试消息,我就可以从那里自我排序。

修改 我刚刚看了一下我的JS控制台,似乎我一直在为Jquery隐藏我的所有错误。

POST http://localhost/~/admin/pages/update/ 500 (Internal Server Error)

看看我的资源,似乎是生成了CodeIgniter错误,

An Error Was Encountered. The action you have requested is not allowed.

0 个答案:

没有答案