下面我有一个Json函数和一些它检索的php代码。
JavaScript代码:
function postback(){
if(validation()){
$.getJSON(
{"room_no":$("#room").val()},
function(json){
$("#roomAlert").html(json.msg)
});
}
}
PHP代码:
if (isset($_POST['prequestion'])) {
$roomquery = "
SELECT Room
FROM Room
WHERE
(Room = '".mysql_real_escape_string($roomChosen)."')
";
$roomnum = mysql_num_rows($roomresult = mysql_query($roomquery));
mysql_close();
if($roomnum ==0){
$msg = "This Room is Invalid";
} else {
$msg = "";
}
$d = array("msg" => $msg);
echo json_encode($d);
}
?>
我的问题是我有一个myClickHandler()函数,如果满足validation()并且如果在php $ msg =“”中遇到postback()函数,我想要showConfirm();验证已满足,但我如何满足postback()要求?
下面是myClickHandler()函数:
function myClickHandler(){
if(validation()){
showConfirm();
}
}
答案 0 :(得分:0)
您需要使用回调来完成此任务:
function postback(callback){
if(validation()){
$.getJSON(
{"room_no":$("#room").val()},
function(json){
$("#roomAlert").html(json.msg);
callback(json.msg);
});
}
}
function myClickHandler(){
if(validation()){
postback(function(message) {
if (message == "")
showConfirm();
});
}
}
如果您不熟悉JavaScript中回调的工作原理,请查看以下文章:
http://recurial.com/programming/understanding-callback-functions-in-javascript/