Php 如何在CodeIgniter中将数据从AJAX发送到控制器?
我正在使用Codeigniter MVC创建一个应用程序,但是我在将数据从AJAX post发送到我的控制器时遇到了问题。我得到了这样的错误: 错误:运算符不存在:字符变量=整数第3行:其中nip=0^提示:没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换 型号代码:Php 如何在CodeIgniter中将数据从AJAX发送到控制器?,php,ajax,codeigniter,Php,Ajax,Codeigniter,我正在使用Codeigniter MVC创建一个应用程序,但是我在将数据从AJAX post发送到我的控制器时遇到了问题。我得到了这样的错误: 错误:运算符不存在:字符变量=整数第3行:其中nip=0^提示:没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换 型号代码: // model m_members function get_name($nip) { $this->load->database(); $this-&
// model m_members
function get_name($nip)
{
$this->load->database();
$this->db->select('name');
$this->db->where('nip', $nip);
return $this->db->get('student')->result_array();
}
控制器:
function insert_member()
{
$this->load->model('m_members');
$data['type'] = $this->m_members->type_member(); //another function
$nip = $this->input->post('nip');
$data = $this->m_members->get_name($nip);
echo json_encode($data);
$this->load->view('add_members',$data);
}
视图:
这是我的桌子吗
//my table
nip | name | address
--------------------------
1212 | David | 1428 Hannah Street
--------------------------
如何修复它?请更改ajax中的数据代码: 数据:nip=+nip 与
数据:{nip:nip},仍获得错误错误号:错误:运算符不存在:字符变化=整数行3:其中nip=0^提示:没有运算符与给定的名称和参数类型匹配。您可能需要添加显式类型转换。从student中选择名称,其中nip=0文件名:E:\xampp\htdocs\student\system\database\DB\u driver.php行号:331您正在调用ajax上的keyup函数,该函数将在每次按键时调用insert\u成员并逐个传递字母表。我认为您希望在ajax中传递完整的用户名,然后希望从ajax函数中匹配它,所以你可以调用onchange来代替keyup。另外,在insert_member中,echo$this->input->post'nip';如果上述条件不是您所需要的,请检查您得到的结果。@dogol,看起来where需要一个字符串,但您正在传递一个整数。尝试在PHP控制器中传递字符串$nip。不过我不知道CI-请确保它为您进行转义/绑定,以避免SQL注入。已解决:D所有这些都是为了您的respons@dogol确切的问题是什么?如果你能分享?
$(document).ready(function() {
$("#username").keyup(function() {
var nip = $('#username').val();
$.ajax({
type : "POST",
data : "nip="+nip,
url : "add_members/insert_member",
dataType: "json",
success: function(data){
$("#name").val(data.name);
}
});
});
});
//my table
nip | name | address
--------------------------
1212 | David | 1428 Hannah Street
--------------------------