为什么在codeigniter中始终使用CURL方法从Ajax中获取NULL值数据?
这是我的错误:
发生数据库错误错误号:23000/515 [Microsoft] [ODBC 用于SQL Server的驱动程序11] [SQL Server]无法将值NULL插入 列'noreg',表'DBRS_MARGONO.dbo.VKLAIM_VERIF';专栏没有 允许空值。 INSERT失败。插入“VKLAIM_VERIF”(“noreg”, “user_id”,“Verified”,“level_verif”,“catatan”)VALUES(NULL,NULL, NULL,0,'')文件名: C:/xampp/htdocs/ws/system/database/DB_driver.php行号:691
这是我的控制器在调用ajax时打印:
$post = array();
$post['noreg'] = $this->input->post('noreg');
$post['user'] = $this->input->post('user');
$post['status'] = $this->input->post('verified');
$url = 'http://localhost/ws/rsms/verifupdatesimpanstatus';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json; charset=utf-8",
"X-API-Key: " . $aksesws['X-API-Key'],
"IDAPP: " . $aksesws['IDAPP'])
);
$de = curl_exec($ch);
$d = json_decode($de, true);
curl_close($ch);
echo $de;
但是当我测试我的帖子数据时$post
被发送了,我认为CURL POST方法存在问题。我一直在寻找解决方案,我不知道错误在哪里。使用 POST 方法 x-www-form-urlencoded
这是我的ajax代码:
function updateStatusVerif(noreg,user,verified) {
$.post("<?php echo base_url();?>superuser/pasien/updateStatusVerif",
{
noreg : noreg,
user : user,
verified : verified
},
function(data){
$('#btnverif').html(data);
});
}
我将Web服务的返回数据值发送到#btnverif元素。
答案 0 :(得分:0)
在@Arthur的帮助下,我将json_encode
添加到curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
,谢谢#SOLVED