Php 调用控制器后Ajax成功函数不工作
我有一个从视图到控制器的ajax调用,其中一些数据传递到控制器。然后将数据传递给模型,并将其插入数据库中。一切正常。但是我的ajax调用成功函数中有一些代码,它不起作用。我不知道该怎么做 我的来自视图的ajax调用Php 调用控制器后Ajax成功函数不工作,php,codeigniter,Php,Codeigniter,我有一个从视图到控制器的ajax调用,其中一些数据传递到控制器。然后将数据传递给模型,并将其插入数据库中。一切正常。但是我的ajax调用成功函数中有一些代码,它不起作用。我不知道该怎么做 我的来自视图的ajax调用 $.ajax({ type:"post", dataType : "json", url: "<?php echo base_url() ?>att_controller/updt", data:{name:
$.ajax({
type:"post",
dataType : "json",
url: "<?php echo base_url() ?>att_controller/updt",
data:{name:nam, age:ag, ids:id},
success: function()
{
//code that i need to make work
}
})
我的模型
public function updt($data)
{
$this->load->database();
$name=$data['name'];
$age=$data['age'];
$id=$data['id'];
$this->db->query("update student set name='$name', age='$age' where id='$id'");
}
我需要帮助来解决这个问题。
我是codeigniter的新手您忘记在文件控制器和模型中传递响应。在ajax调用中,您定义了数据类型:“JSON”,所以在控制器中,您需要将数据转换为JSON格式并将其传递给视图
public function updt(){
$data['name']=$this->input->post('name');
$data['age']=$this->input->post('age');
$data['id']=$this->input->post('ids');
$this->load->model("Att_model");
$result['data'] = $this->Att_model->updt($data);
echo json_encode($result);
}
另外,您的模型函数如下所示
public function updt($data)
{
$this->load->database();
$name=$data['name'];
$age=$data['age'];
$id=$data['id'];
$query = $this->db->query("update student set name='$name', age='$age' where id='$id'");
return $query->result();
}
请检查此项,如果它不适合您,请告诉我。您的意思是成功函数中的代码没有执行吗?比如,你能把警报放进去看看结果吗?如果您遇到问题的是函数中的代码,为什么要从示例中省略它?还是根本没有人呼叫成功?我尝试了一个警报。它的工作原理与您拥有成功函数、添加错误函数的方式不同。类似这样的东西应该可以做,error:functionjqXHR,textStatus,errorhown{alerttextStatus+':'+errorhown;}Thanx..它可以工作..现在我知道原因了。我找到了一个更好的方法。刚刚从ajax中删除了数据类型部分。@Anandhunadesh:很高兴帮助您走出这一障碍。
public function updt($data)
{
$this->load->database();
$name=$data['name'];
$age=$data['age'];
$id=$data['id'];
$query = $this->db->query("update student set name='$name', age='$age' where id='$id'");
return $query->result();
}