我有一个 AJAX 脚本,它应该在用户登录时将数据插入 mysql 数据库。但是它当前正在运行成功函数,即使在控制台中返回“成功”=>“假”时也是如此。
她是我的密码
$(document).ready(function() {
$("#addfav").click(function() {
var form_data = {heading: $("#vidheading").text(), embed : $("#vidembed").text()};
jQuery.ajax({
type:"POST",
url:"http://localhost/stumble/Site/add_to_fav",
dataType: "json",
data: form_data,
success: function (data){
alert("This Video Has Been Added To Your Favourites");
console.log(data.status);
},
error: function (data){
if(data.success == false){
alert("You Must Be Logged In to Do That");
console.log(data.status);
};
}
});
})
})
这是 php,请记住我的项目是在 codeigniter 中。
public function add_to_fav(){
header('Content-Type: application/json');
$this->load->model('model_users');
$this->model_users->add_favs();
}
这是向数据库添加数据的实际模型
public function add_favs(){
if($this->session->userdata('username')){
$data = array(
'username' => $this->session->userdata('username'),
'title' => $this->input->post('heading'),
'embed' => $this->input->post('embed')
);
$query = $this->db->insert('fav_videos',$data);
echo json_encode(array('success'=>'true'));
} else {
echo json_encode(array('success'=>'false'));
}
}
感谢您的任何建议!
最佳答案
您没有返回错误。
您正在返回一个 200 OK
和数据 {"success": "false"}
。
您可以在 jQuery 成功函数或 send a different status code 中处理它(看起来 a 403 error 适合放在这里)。
关于php - 即使返回错误,ajax 也始终运行成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25266146/