我正在制作一个php表单,并使用ajax将其插入到mysql表中。很明显,我有个问题。
这是我的JS,唯一不起作用的是done函数,它从不考虑"msg“部分,它总是显示"failed”。
$(document).ready(function(){
$('#submit-button').click(function(){
var data = $('#myform').serialize();
$.ajax({
type: "POST",
url: "my-file.php",
data: data
}).done(function( msg ) {
console.log(msg);
if(msg == "create"){
$('.message').fadeIn().html('created row').delay(1600).fadeOut();
} else if(msg == "maj"){
$('.message').fadeIn().html('updated row').delay(1600).fadeOut();
} else {
$('.message').fadeIn().html('failed').delay(1600).fadeOut();
}
});
});});
下面是my-file.php的一部分,我在其中回显'create‘或'maj’,具体取决于所做的操作。
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if($count == 0){
$sql = "INSERT INTO testCookie (
`option_cms_name`,
`option_cms_value`,
`option_cms_type`,
`option_cms_version`,
`option_cms_libelle`,
`option_cms_description`,
`option_cms_lien`,
`option_cms_active`,
`option_cms_date_crea`,
`option_cms_modif`,
`option_cms_users_id`
)
VALUES
('cookies', '".$cookievarstock."','script' ,'1.0' ,'Cookies' ,'Barre dinformation sur les cookies' ,'' ,'1' ,'2015-12-08 14:14:00' ,'".$cookiedate."' ,1);";
echo 'create';
}
else{
$sql = "UPDATE testCookie SET option_cms_value='".$cookievarstock."' WHERE option_cms_name='cookies';";
echo 'maj';
}
}
我不知道是什么问题,因为当我在控制台中检查时,显示'maj‘或'create’...
如果你们中的任何人知道为什么它不工作,我将非常感激。谢谢!
EDIT :下面是我的$count变量所做的事情,只是检查行是否已经存在。
$checkcookie = "SELECT option_cms_name FROM testCookie WHERE option_cms_name='cookies'";
$proccesscookie = $conn->query($checkcookie);
$count = mysqli_num_rows($proccesscookie);
编辑2:我刚刚发现了这个问题,这很愚蠢,我的php文件的末尾只有两行空行。我检查了显示的字符数
var numbmsg = msg.length;
alert(numbmsg);
它显示了5,而它应该是3,->,这两个空行在我的php末尾。谢谢!=)
发布于 2015-12-10 01:41:48
你可以试着这样修改php代码吗:
注意:我不知道你说的$count是什么意思。
$msg = 'post is empty';
if (!empty($_POST)) {
if($count == 0){
$sql = "INSERT INTO testCookie (
`option_cms_name`,
`option_cms_value`,
`option_cms_type`,
`option_cms_version`,
`option_cms_libelle`,
`option_cms_description`,
`option_cms_lien`,
`option_cms_active`,
`option_cms_date_crea`,
`option_cms_modif`,
`option_cms_users_id`
)
VALUES
('cookies', '".$cookievarstock."','script' ,'1.0' ,'Cookies' ,'Barre dinformation sur les cookies' ,'' ,'1' ,'2015-12-08 14:14:00' ,'".$cookiedate."' ,1);";
$msg = 'create';
}
else{
$sql = "UPDATE testCookie SET option_cms_value='".$cookievarstock."' WHERE option_cms_name='cookies';";
$msg = 'maj';
}
}
echo $msg;
https://stackoverflow.com/questions/34185236
复制相似问题