当我尝试通过ajax jquery发送数据时,我获得了整个页面的html。其他功能在这里工作是我的代码。
<form id ="" action ="" method ="POST">
<?php
$counter = 0 ;
foreach ($all_users as $user) {
?>
<tr class="">
<td><?php echo $user->user_name; ?></td>
<td><?php echo $user->level ;?></td>
<td>asd</td>
<td><a class="edit" href="javascript:;">Edit</a></td>
<td><a class="delete" onclick ="delete_user($(this),<?php echo $user->id;?>)">Delete</a></td>
</tr>
<?php
$counter ++;
}
?>
</form>
javascript
function delete_user(row_id,user_id)
{
if (confirm('Do you really want to delete')) {
row_id.closest('tr').remove();
$.ajax({
type: "POST",
url: "delete_user/",
data: { "user_id":user_id },
success: function(msg) {
//alert("Name = " + msg);
}
});
}
else {
// Do nothing!
}
}
CI中的
function delete_user()
{
$user_id = $this->input->post('user_id');
$this->load->model("m_user");
$this->m_user->delete_user($user_id);
echo $result;
echo $user_id;
}
我可以看到它发送帖子和数据也发送但我没有得到答复我得到整个HTML页面代码。
答案 0 :(得分:1)
我在项目中遇到的相同情况问题的简单解决方案是,当您在此功能delete_user()
调用其他功能之后向 codeigniter
发送请求时,您需要delete_user()
执行后停止执行,例如使用die()
调用
function delete_user()
{
$user_id = $this->input->post('user_id');
$this->load->model("m_user");
$this->m_user->delete_user($user_id);
echo $result;
echo $user_id;
die();
}
同样在您的JS
代码中,您没有提供删除功能的控制器名称
function delete_user(row_id,user_id)
{
if (confirm('Do you really want to delete')) {
row_id.closest('tr').remove();
$.ajax({
type: "POST",
url: "<?php echo base_url();?>/controller_name_required/delete_user/",
data: { "user_id":user_id },
success: function(msg) {
//alert("Name = " + msg);
}
});
}
else {
// Do nothing!
}
}
希望这可以帮助你
答案 1 :(得分:0)
使用
$this->m_user->delete($user_id);
相反
$this->m_user->delete_user($user_id);
答案 2 :(得分:0)
我弄明白一件事是
我的网址是
http://localhost/xxx/CI/user/all/
这里用户是一个控制器,一切都是功能。
当我尝试将数据发送到函数名称时,delete_user可能会被CI认为是这样的
http://localhost/xxx/CI/user/all/delete_user/
我像这样硬编码网址
http://localhost/xxx/CI/user/delete_user/
它告诉我,现在有谁能告诉我如何解决这个网址的事情?抱歉,我是CI的新手。