我有一个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.