Javascript 使用JS+;带有CodeIgniter的Ajax

Javascript 使用JS+;带有CodeIgniter的Ajax,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,我有一个ul项目列表,可以使用JQueryUIsortable进行排序。目前,我可以毫无问题地拖动和重新排列ul项,并且我正在生成一条console.debug消息,就像我希望的那样,但是,它似乎没有将数据发布到我的控制器的方法中,该方法处理数据,并将其发送到我的模型以更新SQL DB 基本上,管理员将被显示在网站上的活动页面列表,并将允许他们重新安排在网站前面的导航链接的顺序 $(document).ready(function() { $('#sortable').sortable(

我有一个
ul
项目列表,可以使用JQueryUI
sortable
进行排序。目前,我可以毫无问题地拖动和重新排列
ul
项,并且我正在生成一条console.debug消息,就像我希望的那样,但是,它似乎没有将数据发布到我的控制器的方法中,该方法处理数据,并将其发送到我的模型以更新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
这是一个非常适合我尝试做的事情

以上内容应发布到my Pages controller的以下方法。我目前正在使用一个小的黑客代码进行学习,试图让它发送调试消息。如果我直接访问/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');
}
公共函数更新()
{
回声';
echo“console.debug”(“访问的更新页面:”);
回声';
重定向(“管理/页面/索引”,“刷新”);
}
如果我可以在拖动一个元素后显示调试消息,我就可以从中进行排序

编辑 我只是看了一下我的JS控制台,似乎我一直在隐藏Jquery的所有错误

POSThttp://localhost/~/admin/pages/update/500(内部服务器错误)

看看我的资料,这似乎是一个CodeIgniter错误正在生成


遇到错误。不允许您请求的操作。

删除重定向,然后查看发生了什么。您应该在js on ajax success函数中执行重定向,因为访问更新页面是不可取的(因为它没有加载视图,它会从我的布局挂钩中生成一系列错误),因此需要进行重定向。我尝试使用
$this->input->is\u ajax\u request()
进行测试,但也不起作用。将flash数据传递到重定向页面。