如何使用 Ajax 将参数从视图传递到控制器?代码点火器
How to pass a parameter from a view to the controller with Ajax? Codeigniter
我只是在学习,我希望你能帮助我解决这个问题:我有两个视图,在视图 1 中它显示了一个用户列表,当点击其中任何一个时你必须打开另一个视图显示视图 2 中有关该用户的信息。
要在视图 1 中使用 js 执行此操作,我捕获用户的 ID 并通过 ajax 将其发送到控制器,然后在控制器中将其发送到模型并将模型响应 returns 发送到控制器并发送它到view2,只显示所选用户的信息,问题是它不起作用,你能帮帮我吗,我做错了什么?
视图 1:这是您单击并捕获 id 和将该 id 发送到控制器的 ajax 的段落。
视图 1
<p onclick="detalles('<?=$p->usuarioId?>');"> <?=$p->usuarioId?><i class="fa fa-check-circle"></i> <?php echo $p->user ?></p>
<script>
function detalles(id=null){
$ (document) .ready (function () {
console.log(id);
$.ajax({
type: "POST",
data : {'id': id},
dataType:"html",
url: "usuarios_admin/ver",
success: function(result)
{
alert("good");
console.log("result",result);
}
});
});
}
</script>
控制器
public function ver(){
$id = $this->input->post("id");
if($id != null) {
$data = $this->PostUser->find($id);
echo json_encode($data);
$this->load->view('usuarios/vista2', $data);
}
}
型号:
function find($id){
$this->db->select();
$this->db->from($this->table);
$this->db->where($this->table_id, $id);
$query = $this->db->get();
return $query->row();
}
视图 2:
在这里你必须看到用户数据
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 lininfo">
<div class="col-lg-5 col-md-5 col-sm-5 col-xs-5 sinpa">
<p class="colorp">Name:</p>
</div>
<div class="col-lg-7 col-md-7 col-sm-7 col-xs-7 sinpa">
<p class="colorpi"><?php $data['name'] ?></p>
</div>
</div>
试试这个,我觉得应该是打错了
<p onclick="detalles('<?php echo $p->usuarioId ?>');"> <?php echo $p->usuarioId; ?>
<i class="fa fa-check-circle"></i> <?php echo $p->user ?></p>
ajax 调用后,您的第 2 个视图加载了吗?
您是否在 ajax 中成功打印了您的 return 数据,因为您在 ajax 中定义了 dataType:"html" 但您 return json 来自控制器的数据。
谢谢你的回答,已经出来了。
我必须以这种方式在视图上打印才能看到数据:
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 lininfo">
<div class="col-lg-5 col-md-5 col-sm-5 col-xs-5 sinpa">
<p class="colorp">Name :</p>
</div>
<div class="col-lg-7 col-md-7 col-sm-7 col-xs-7 sinpa">
<p class="colorpi"><?php echo $user->name ?></p>
</div>
</div>
控制器:
public function ver(){
$id = $this->input->post("id");
if($id != null) {
$data['user'] = $this->PostUser->find($id);
$this->load->view('usuarios/vista2', $data);
}
}
ajax 视图 1
<div class="hi">
<!-- here you would see the result of ajax -->
<div>
<script>
function detalles(id=null){
$ (document) .ready (function () {
console.log(id);
$.ajax({
type: "POST",
data : {'id': id},
dataType:"html",
url: "usuarios_admin/ver",
success: function(result)
{
$('.hi').html(result);
}
});
});
}
</script>
我只是在学习,我希望你能帮助我解决这个问题:我有两个视图,在视图 1 中它显示了一个用户列表,当点击其中任何一个时你必须打开另一个视图显示视图 2 中有关该用户的信息。 要在视图 1 中使用 js 执行此操作,我捕获用户的 ID 并通过 ajax 将其发送到控制器,然后在控制器中将其发送到模型并将模型响应 returns 发送到控制器并发送它到view2,只显示所选用户的信息,问题是它不起作用,你能帮帮我吗,我做错了什么? 视图 1:这是您单击并捕获 id 和将该 id 发送到控制器的 ajax 的段落。 视图 1
<p onclick="detalles('<?=$p->usuarioId?>');"> <?=$p->usuarioId?><i class="fa fa-check-circle"></i> <?php echo $p->user ?></p>
<script>
function detalles(id=null){
$ (document) .ready (function () {
console.log(id);
$.ajax({
type: "POST",
data : {'id': id},
dataType:"html",
url: "usuarios_admin/ver",
success: function(result)
{
alert("good");
console.log("result",result);
}
});
});
}
</script>
控制器
public function ver(){
$id = $this->input->post("id");
if($id != null) {
$data = $this->PostUser->find($id);
echo json_encode($data);
$this->load->view('usuarios/vista2', $data);
}
}
型号:
function find($id){
$this->db->select();
$this->db->from($this->table);
$this->db->where($this->table_id, $id);
$query = $this->db->get();
return $query->row();
}
视图 2: 在这里你必须看到用户数据
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 lininfo">
<div class="col-lg-5 col-md-5 col-sm-5 col-xs-5 sinpa">
<p class="colorp">Name:</p>
</div>
<div class="col-lg-7 col-md-7 col-sm-7 col-xs-7 sinpa">
<p class="colorpi"><?php $data['name'] ?></p>
</div>
</div>
试试这个,我觉得应该是打错了
<p onclick="detalles('<?php echo $p->usuarioId ?>');"> <?php echo $p->usuarioId; ?>
<i class="fa fa-check-circle"></i> <?php echo $p->user ?></p>
ajax 调用后,您的第 2 个视图加载了吗? 您是否在 ajax 中成功打印了您的 return 数据,因为您在 ajax 中定义了 dataType:"html" 但您 return json 来自控制器的数据。
谢谢你的回答,已经出来了。 我必须以这种方式在视图上打印才能看到数据:
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 lininfo">
<div class="col-lg-5 col-md-5 col-sm-5 col-xs-5 sinpa">
<p class="colorp">Name :</p>
</div>
<div class="col-lg-7 col-md-7 col-sm-7 col-xs-7 sinpa">
<p class="colorpi"><?php echo $user->name ?></p>
</div>
</div>
控制器:
public function ver(){
$id = $this->input->post("id");
if($id != null) {
$data['user'] = $this->PostUser->find($id);
$this->load->view('usuarios/vista2', $data);
}
}
ajax 视图 1
<div class="hi">
<!-- here you would see the result of ajax -->
<div>
<script>
function detalles(id=null){
$ (document) .ready (function () {
console.log(id);
$.ajax({
type: "POST",
data : {'id': id},
dataType:"html",
url: "usuarios_admin/ver",
success: function(result)
{
$('.hi').html(result);
}
});
});
}
</script>