这是我的问题:
我尝试用JQuery进行Ajax调用,
这会调用一个PHP页面,代码会被执行,如果没有,则回显OK,如果没有则停止。
我没有收到任何文字(第一个问题),
而真正的问题是:
有时查询成功,但总是返回错误。 (即使我的php页面中的sql查询被执行)
以下是代码:
<script>
$("a.confirm").click(function(event){
var id = event.target.id;
$.ajax({
type :"POST",
url :'./PHP/UTILS/confirm.php',
data :{ "id" : id,
},
beforeSend: function(){
alert("in progress");
},
complete: function(){
alert("done");
},
success: function(){
alert("OK");
},
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "\nError:" + err + "\n");
}
});
});
</script>
这是针对ajax,现在是它调用的页面:
<?php
include "./functionsExt.php";
$db = connectToDb('mydb');
$id = $_POST['id'];
$mysql = $db->prepare("UPDATE `test` SET `test_date_p` = CURRENT_TIMESTAMP, `test_status` = '2' WHERE `test_id` = '$id'");
if($mysql->execute()){
echo "OK";
}else{
echo "STOP";
}
?>
感谢您的帮助
答案 0 :(得分:1)
我想建议您在删除&#39; id&#39;之后的数据中的逗号后再尝试。
我请注意以下几点:
写出成功和失败的更好方法
success: function(data)
{
alert(data);
}
failure : function(){
alert(failed);
}
它最终将提醒您收到的响应数据。所以它有利于测试目的。
希望它有所帮助:)
答案 1 :(得分:0)
我想我发现了一些有趣的东西...... 我试着回应帖子...... 帖子很好地发送到php文件,
但我注意到了:
如果我添加event.preventDefault();在我的jquery代码中,我有post echo +&#34; ok&#34;显示在警报中(猜测它是成功警报因为这次我没有得到日志消息......)
我会再试一次...(如果它像这样工作,我需要找到一种方法来重新启用默认链接点击功能,我需要刷新页面...页面内容不一样后叫ajax ...)
再次尝试,现在似乎工作了...... 但是,我不会关闭这个主题,因为我现在必须在我的php文件中添加更多查询...而且我仍然需要一种方法在执行后刷新页面......任何想法?
(thanx stacky,你的建议似乎已经解决了&#34;主要&#34;问题:P)