我有一个简单的jQuery post函数,它将JSON数据发布到CodeIgniter控制器。该帖子从客户端成功,但我没有收到服务器的响应。我对CI很新,所以我确定我做错了。
function post(){
$.post("<?php echo base_url();?>index.php/user/create", {username:"testUser",password:"userpassword"},function(data) {
var test = data;
});
}
所以我将两个字符串传递给用户控制器的创建操作。测试我只是试图从发布的数据中获取'用户名'并将其发送回调用函数。目前回复是空的。
public function create(){
if($this->input->post('newuser')){
$username = $this->input->post('username');
$password = $this->input->post('password');
echo json_encode(array('username'=>$username));
}
有人能给我一个暗示吗?
答案 0 :(得分:0)
您正在检查帖子是否包含密钥newuser
但是,您只发送了2个字符串,其中包含密钥'username'和'password'。您需要将JavaScript部分修改为以下内容:
$.post("<?php echo base_url();?>index.php/user/create", {newuser: 1, username:"testUser",password:"userpassword"}...
或者,只需从if
函数中删除create()
语句。
答案 1 :(得分:0)
<script type="text/javascript">
function post(){
var url ="<?php echo base_url();?>index.php/user/create";
$.post(url, {username:"testUser",password:"userpassword"},function(data) {
console.log(data);
var test = data;
});
}
</script>
在您的控制器中,您使用post方法检查新用户,如果条件为false且响应为null,则您没有发送新用户 你应该检查
$这 - &GT;输入 - &GT;柱(&#39;用户名&#39)
public function create(){
if($this->input->post('username')){
$username = $this->input->post('username');
$password = $this->input->post('password');
echo json_encode(array('username'=>$username));
}
}