我编写了一个通常的jQuery + AJAX代码,但它不工作,我真的不gettinh为什么! 这是我的代码不能正常工作的一部分:
var data = $("#data_res").val();
var infoData = data.split("/");
var dataDb = infoData[2]+"-"+infoData[1]+"-"+infoData[0];
$.ajax({
type: "POST",
url: "reserva_ajax.php",
data: {action: 1, data: dataDb},
success: function(retorno)
{
var qtd = parseInt(retorno, 10);
alert("Qtd: "+qtd);
if(qtd > 0) {
//for now, qtd is always 0
}
else{
var id = $("#id_func").val();
var obs = $("#obs_res").val();
alert("id: "+id+" | obs: "+obs+" | dataDB: "+dataDb);
$.ajax({
type: "POST",
url: "reserva_ajax.php",
data: {action: 1, data: dataDb},
succes: function(a)
{
alert("sucess! a="+a);
},
error: function(b)
{
alert("Error!");
});
alert("passed =/");
}
},
error: function()
{
alert("Erro! Try again.");
}
也许被内的另一个Ajax请求一个Ajax请求的事实做了错误。但我认为这不是问题,因为ajax只在第一个完成后才执行。
第一个ajax运行正常,则显示“Qtd:0”。然后代码进入else条件(因为qtd不大于0),显示第二条警报: alert(“id:”+ id +“| obs:”+ obs +“| dataDB:”+ dataDb); 一切正常。
但是,然后,我得到了问题! ajax被执行(我认为),但它不会执行成功块,也不会执行错误块,所以打印的警报是: alert(“passed = /”);
我知道ajax是异步的,成功和错误警报可能会在“传递”之后执行,但它们从不执行。
请有人可以帮助我?
PHP代码是:
<?php
include_once 'classes/reserva_class.php';
if(isset($_POST["action"]))
{
$action= (int) $_POST["action"];
switch($action)
{
case 1:
echo Reserva::getQtdReservasData($_POST["data"]);
break;
case 2:
echo "=)";
break;
}
}
?>
哦!我现在很尴尬......我不敢相信我输错了事情,对不起家伙!谢谢大家。 大括号关闭错误我删除了编辑帖子时,它是好的,但成功真的让我!我输入它,它变得大胆(netbeans),所以我只是忽略它! 再次感谢大家! – IPValverde