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
项目列表,可以使用JQueryUIsortable
进行排序。目前,我可以毫无问题地拖动和重新排列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数据传递到重定向页面。