0
나는이 아약스가 : 나는 JS var에 먼저 아약스를 넣어 또한jQuery를 아약스 beforesend 중단 첫번째 아약스 성공
var.abort();
전화를 시도
$.ajax({
type: "POST",
cache: false,
url: 'update_db.php',
beforeSend: function(){
$.ajax({
type: "POST",
cache: false,
async: "false",
dataType: "json",
url: 'check_db.php',
success: function(data){
var nowmod = new Date();
var lastmod = new Date(data[0].lastmod_date);
if(nowmod > lastmod){
//abort here the first ajax call and
//reload the page after 2.5 sec
setTimeout(function(){
location.reload();}, 2500);
}
}
});
},
success: function(data){
alert("success");
}
});
, 내가 시도를
return false
첫 번째 아약스 호출의 성공 이벤트가 작동합니다. alert "success"!
beforeSend : function(xhr, opts){
if(1 == 1) //just an example
{
xhr.abort();
}
},
내 문제는 내가 AJAX 호출을 취소하기 전에 DB를 확인해야한다는 것입니다 경우
나는 Stackoverflow에 케이스를 보았다. 모든 제안을 환영합니다. 감사.
왜 $ .ajax를 처음으로 호출하기보다 beforesend에서이 작업을 수행하고 있습니까? 이것은 매우 거꾸로 복잡하게 보인다. 아직 전송되지 않은 ajax 요청을 중단 할 수 없습니다. –
'update_db.php'는'check_db.php'에있는 모든 유효성 검사 로직을 수행해야하므로'check_db.php' ajax 호출을 제거 할 수 있습니다 ... –
대신 업데이트 요청을 보내고 실제로 업데이트하기 전에 데이터베이스, 그것이 이미 있는지 확인 하시겠습니까? Ajax 요청이 적습니다. –