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 사용'이 도움이되지 않습니다.
그래도 jQuery를 사용하십시오. 이 거대한 코드 조각을 이해할 수 있다면 jquery가 완전히 이해할 수 있도록 약 7 분이 소요됩니다. 현명한 사람이 되려고하지는 않지만 jquery는 혼란과 오류뿐만 아니라 작성한 코드도 많이 제거합니다. – Dutchie432
Firebug를 열고 NET 탭을 클릭 한 다음 HTTP 응답을 봅니다. –
return true 대신 .. 몇 가지 변수를 시도해보고 다른 경우에는 경고합니다. 단지 테스트 용 – zod