我正在尝试使用 jQuery 在 CodeIgniter 中创建一个可拖动的列表。我有代码以便拖动工作,但我无法将数据发送到控制器。
这是用于拖动的 jQuery 代码。
$(function() {
$( "#order" ).sortable({
opacity: 0.6,
cursor: 'move',
update: function(event, ui){
var order = $(this).sortable("serialize");
console.log(order);
$.ajax({
url: "http://localhost/codeigniter214/profile/save_order",
type: 'POST',
data: order,
success: function (data) {
$("#test").html(data);
}
});
}
});
});
这是可拖动的列表。
<?php if (isset($names)) {?>
<ul id="order">
<?php foreach (array_combine($ids, $names) as $id => $name) {?>
<li id="feed-<?php echo $id ?>"><?php echo $name; ?> <a href="profile/removefeed/<?php echo $id ?>">Remove</a></li>
<?php } ?>
</ul>
<?php } ?>
这是数据被传递到的控制器。但是,var_dump 显示了一个空数组,这让我相信问题出在 AJAX 和信息传输上。
function save_order() {
var_dump($_POST);
$items = $this->input->post('item');
$total_items = count($this->input->post('item'));
echo '<h3>Debugging</h3>';
echo "<p>Total items sent: $total_items</p>";
$this->profile_model->update_order($total_items, $items);
}
任何帮助将不胜感激。谢谢你。