CI框架中使用JQ的Ajax方法的问题
本帖最后由 NingerJohn 于 2014-10-21 08:16 编辑CI框架中,使用JQ的ajax时,每次后台都能接收数据,但执行的函数却是error函数。控制器PHP能接收到数据并传到数据库中,但是ajax执行的是error函数1. ajax代码如下
var email = $('input.email').val();
var password = $('input.password').val();
$.ajax({
type:"POST",
url:"register/submit/",
dataType:"json",
data:{"email":email,"password":password},
success:function(){
alert('Success');
return true;
},
error:function(){
alert('Failed');
return false;
}
});
2. PHP控制器代码如下(控制器和数据库模型暂时没有分开)
function submit(){
$this->load->library('input');
$email = $this->input->post('email');
$password = md5($this->input->post('password'));
$sql = "Insert into user (email,password) VALUES ('{$email}','{$password}')";
$this->db->query($sql);
}
本帖最后由 sn01615 于 2019-5-24 12:10 编辑
服务端是不是返回了500错误? 因为你没有return一个值, 如果不return一个值 那就是exit起作用 IvanCI说的非常有道理,一般情况下我在用ajax和后端进行交互的时候都会在后端exit('你要的值');然后前端在success事件中判断返回的值给用户不同的提示。可以到我开发的www.dianying90.com中看一下。 本帖最后由 mtzai 于 2014-7-17 09:35 编辑
第一种方法 dataType:"json", 这句直接去掉就行了。
第二种方法 dataType:"json"保留不变。既然要求返回数据为json格式,那就得返回json格式,不能什么也不返回。
function submit(){
$this->load->library('input');
$email = $this->input->post('email');
$password = md5($this->input->post('password'));
$sql = "Insert into user (email,password) VALUES ('{$email}','{$password}')";
$this->db->query($sql);
echo "{\"success\": true,\"msg\":\"操作成功!\"}";//这只是json格式
}
是你返回的格式有问题 你压根就没返回东西啊 是你返回的格式有问题 你压根就没返回东西啊
页:
[1]