ajax return true,获取Ajax函数返回true或false

我试图让Ajax函数返回true或false(这是一种从另一个函数调用的验证函数)。所以另一个函数需要从这个函数中得到一个真实或者错误的值,所以它会知道下一步该怎么做。获取Ajax函数返回true或false

我确信我之前完成了这个工作,但现在我无法完成它。我尝试了同步和异步调用,在onreadystatechange函数内部和下面有返回值,没有任何东西。

这是阿贾克斯:

function saveBooking(){

var service_ids=document.getElementById("allservice_ids").value;

var provider_ids=document.getElementById("allprovider_ids").value;

var chosen_time=document.getElementById("chosen_time").value;

var chosen_date=document.getElementById("chosen_date").value;

var message=document.getElementById("message").value;

var parameters="service_ids="+service_ids+"&provider_ids="+provider_ids+"&time="+chosen_time+"&date="+chosen_date+"&you=<?php echo $_SESSION['user_mail']; ?>&message="+message

if (window.XMLHttpRequest)

{// code for IE7+, Firefox, Chrome, Opera, Safari

xmlhttp=new XMLHttpRequest();

}

else

{// code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.open("POST","include/save_booking.php",true);

xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded")

xmlhttp.onreadystatechange = function() {//Call a function when the state changes.

if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {

var yesorno=xmlhttp.responseText;

if(yesorno=="ok"){

return true;

}

else{

document.getElementById("booking_error").innerHTML = xmlhttp.responseText;

return false;

}

}

}

xmlhttp.send(parameters);

}

现在save_booking.php只包含行<?php echo "ok"; ?>,我把它降低到用于测试目的。

有人能告诉我如何让这个工作?在其他功能,如果我这样做:

if(saveBooking()){

alert(saveBooking());

}

它只是提醒单词'undefined'。

请注意,我不太熟悉jQuery,所以'使用jQuery'对我来说不是一个有用的回应。

2012-04-24

jovan

+0

即便如此,请使用jQuery。如果你能理解这个巨大的代码块,jquery将花费大约7分钟的时间来充分理解。不要试图成为一个聪明人,但jQuery会消除你手写代码的很多,以及混淆和错误 –

2012-04-24 15:55:53

+0

打开Firebug,单击NET选项卡,并观看您的HTTP响应。 –

2012-04-24 15:57:31

+0

而不是返回true ..尝试一些变量,并警告如果其他本身..只是为了测试 –

2012-04-24 16:02:13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值