Codeigniter 中的 Ajax 调用
Posted
技术标签:
【中文标题】Codeigniter 中的 Ajax 调用【英文标题】:Ajax call in codeigniter 【发布时间】:2016-03-31 23:32:10 【问题描述】:我实际上想在 CodeIgniter 中使用 ajax 来更新数据库中的值。 下面是给出的代码:
views/list_user.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Admin Panel</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>css/screen.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function()
$('.round_button_circle').click(function()
//Now just reference this button and change CSS
//$(this).css('background','green');
var id=this.value;//Getting the id of the user to update the status from unpublish to publish
var url='<?php echo base_url(); ?>index.php/ajax_controller/user_status';
alert(id+url);
$.ajax(
type: 'POST',
url: 'url', //We are going to make the request to the method "list_dropdown" in the match controller
data: 'id='+id, //POST parameter to be sent with the tournament id
success: function(data)
);
);
);
</script>
</head>
<body>
<div id="page-heading">
<div class="button"><a href="create_category.php">Create User</a></div><!--create category-->
<h1>USERS</h1><!--users's list-->
</div>
<!-- end page-heading -->
<table border="0" style="width:97%;margin:0px auto" cellpadding="0" cellspacing="0" id="content-table">
<tr>
<td>
<!-- start content-table-inner START -->
<div id="content-table-inner">
<div class="stdiv"><div class="msg1">
<?php
if(isset($_GET['msg']))
$msg=$_GET['msg'];
if($msg=="usertype")
echo "User has been Created";
if($msg=="create")
echo "User has been Created";
if($msg=="delete")
echo "User has been Deleted";
if($msg=="update")
echo "User has been Updated";
?>
</div>
</div>
<!-- start category-table -->
<table border="0" cellpadding="0" style="width:100%;margin:0px auto" cellspacing="0" id="product-table">
<tr>
<tr>
<th class="tbl_hdr">USER ID</th> <!--ID-->
<th class="tbl_hdr">NAME</th> <!--Name-->
<th class="tbl_hdr">EMAIL</th> <!--Email-->
<th class="tbl_hdr">PHONE NUMBER</th> <!--ph number-->
<th class="tbl_hdr">STATUS</th> <!--publish/unpublish-->
<th class="tbl_hdr" colspan="2">ACTION</th> <!--edit/delte-->
</tr>
<?php foreach($users as $user)?>
<tr>
<td><?php echo $user->id;?></td>
<td><?php echo $user->username;?></td>
<td><?php echo $user->email;?></td>
<td><?php echo $user->contact;?></td>
<td ><button id="status" class="round_button_circle" value="<?php echo $user->id;?>"></button></td>
</tr>
<?php ?>
</table>
<!-- end product-table................................... -->
</div>
<!-- end content-table -->
<!-- start paging..................................................... -->
<!-- end paging................ -->
<div class="clear"></div>
<!-- end content-table-inner ............................................END -->
</td>
</tr>
</table>
<div class="clear"> </div>
</div>
<!-- end content -->
<div class="clear"> </div>
</div>
<!-- end content-outer........................................................END -->
<div class="clear"> </div>
<!-- start footer -->
</body>
</html>
控制器/ajax_controller.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Ajax_Controller extends CI_Controller
// Show view Page
// This function call from AJAX
public function user_status()
$id=$this->input->post('id');
$data = array(
'status' => 1
);
$this->db->where('id', $id);
$this->db->update('tbl_users', $data);
echo "1";
它在警报框中给了我要在数据库中更新的 url 和 id...但是一旦单击按钮,它就不会更新数据库中的值.. 谁能帮忙???
【问题讨论】:
检查您的浏览器控制台以了解确切的问题。 Ajax 是否触发。如果您使用 Firebox 使用 firebug 插件,它将帮助您触发 ajax 调用。或将控制台错误放在这里。 还要检查控制器函数中的 id 是否出现 【参考方案1】:你的代码有一个错误。
改变
url: 'url', // in ajax call
到
url: url, // do not use quotes with url variable
【讨论】:
如果您的问题仍然存在,或者您将面临 403 错误,那么只需使用带有 ajax 的 CSRF。 ***.com/questions/19333098/… 像调试方式一样酷炫 感谢@Ali Shan ..上述解决方案就像一个魅力...我从上个 24 小时开始一直在处理 dis ..但找不到错误...非常感谢您制作不工作..以上是关于Codeigniter 中的 Ajax 调用的主要内容,如果未能解决你的问题,请参考以下文章
判断帖子是不是来自codeigniter中的ajax调用的方法?