Jquery Ajax失败......随机成功

时间:2014-06-25 08:18:22

标签: javascript php jquery ajax

这是我的问题:
我尝试用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";
}
?>

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

我想建议您在删除&#39; id&#39;之后的数据中的逗号后再尝试。

我请注意以下几点:

  1. 回显post变量并检查响应。
  2. 然后回复你想要的并检查它是否会响应
  3. 写出成功和失败的更好方法

    success:   function(data)
    {    
    alert(data);
    }
    failure : function(){
    alert(failed);
    }
    
  4. 它最终将提醒您收到的响应数据。所以它有利于测试目的。

    希望它有所帮助:)

答案 1 :(得分:0)

我想我发现了一些有趣的东西...... 我试着回应帖子...... 帖子很好地发送到php文件,

但我注意到了:

如果我添加event.preventDefault();在我的jquery代码中,我有post echo +&#34; ok&#34;显示在警报中(猜测它是成功警报因为这次我没有得到日志消息......)

我会再试一次...(如果它像这样工作,我需要找到一种方法来重新启用默认链接点击功能,我需要刷新页面...页面内容不一样后叫ajax ...)

再次尝试,现在似乎工作了...... 但是,我不会关闭这个主题,因为我现在必须在我的php文件中添加更多查询...而且我仍然需要一种方法在执行后刷新页面......任何想法?

(thanx stacky,你的建议似乎已经解决了&#34;主要&#34;问题:P)