다음은 ajax 호출을 통해 XML 파일에 작성해야하는 함수입니다. 아약스 호출이 처음 만들어지면 코드가 제대로 작동합니다. 두 번째 루프에서는 ajax 호출이 전혀 이루어지지 않습니다. 나는 이유를 모른다. 나는 asyn을 false로 지정했다. 그건 도움이되지 않았어. 어쨌든 문제는 아닌 것 같습니다.jquery 내의 각 루프에서 Ajax 호출
$('#'+divid).children('div').children('div').each(function() {
var url = $(this).find('a');
var urlname = url.text();
var urllink = url.attr('href');
var urlid = $(this).attr('id');
alert ("from javascript urlid: "+urlid+" urlname: "+urlname+" urllink: "+urllink);
$.ajax({
url: "add_url.php",
type: "POST",
data: { nodeid: divid, urlid: urlid, urlname: urlname, urllink: urllink },
cache: false,
async: false,
success: function (response) {
if (response != '')
{
alert(response);
}
}
});
});
에서와 동일한 구조와 함께 작동 Ajax 호출은 효과가 없습니다. ause는 당신 자신의 함수에서 루핑을하고 있으며, 이것은 모든 요소를 반복하기 위해 jQuery에 의해 비동기 적으로 호출된다. 그러면 실행 된 각 함수는 ajax 호출이 완료 될 때까지 기다립니다. 그러나 그들은 모두 같은 시간에 달릴 것입니다. – Wulf
@Wulf : 콜백 함수는 ** 비동기라고하는 ** 아닙니다 ** : https://github.com/jquery/jquery/blob/1.6.3/src/core.js#L609-L647 –
동일한 형식을 사용했습니다. , 각() 함수에서 아약스 그리고 그것은 잘 작동합니다. Firebug에서 한 번만 POST 요청이 이루어 졌는지 확인 했습니까? 분명히 1 개 이상의 개체가 있습니다. 여러 개의 알림 메시지가 표시됩니까? – MattP