Bir dizi sayfadaki bir dizi UI bileşenindeki fare tıklaması olaylarını takip etmek istiyorum. Bunu yapmak için
1.Ajax çağrısı, günlüğe kaydetme günlüğünü ekler. ajax logger arayacak
myClickLogger = {
endpoint: '/path/to/my/logging/endpoint.html',
logClickEvent: function(clickCode) {
$.ajax({
'type': 'POST',
'url': this.endpoint,
'async': true,
'cache': false,
'global': false,
'data': {
'clickCode':clickCode
},
'error': function(xhr,status,err){
alert("DEBUG: status"+status+" \nError:"+err);
},
'success': function(data){
if(data.status!=200){
alert("Error occured!");
}
}
});
}
};
2.JQuery tıklama etkinlik (clickCode düğmesi/resim tıklanan olduğu için tanımlayıcılardır): (. 1)
$(document).ready(function() {
$(".myClickEvent[clickName]").click(function() {
var clickCode = $(this).attr("clickName");
myClickLogger.logClickEvent(clickCode);
});
});
yukarıdaki ajax çağrıdır " "Tıkla" butonu tıkladığınızda tarayıcı tarafından yeni bir sayfaya geçilir.
'Aysnc' öğesini 'false' olarak değiştirirseniz, ajax çağrısı başarılı olur.
Ayrıca, yeni bir sayfaya götürmeyen olayların başarılı olması için tıklatın. Sadece yeni sayfaya giden tıklama etkinlikleri iptal ediliyor.
Aramayı eşzamanlı yapmak istemiyorum.
Herhangi bir fikir, sorun ne olabilir? Tıklama etkinliği yeni bir sayfaya götürüldüğünde, önce eşzamansız çağrının bittiğini nasıl garanti edebilirim?
Sen, bir senkron çağrı kullanmak zorunda aksi formu sunulacak ve kullanıcı yeni bir sayfaya alınacaktır. Form gönderildiğinde, sayfa kaldırılır ve bu nedenle AJAX çağrıları iptal edilir - tarayıcılar bu şekilde çalışır ... – Ian
Herkes bana ajax çağrısında kullanılan tek tırnak '' ''hakkında bilgi verebilir mi? Tek tırnak ile de çalışır '' tip '' veya '' başarı '' ve hepsi tek tırnak kullanmadan kullandığım .. –
Eşzamanlı bir çağrı kullanmak zorunda değilsiniz, sadece işin olduğundan emin olmalısınız. Async çağrısı bittikten sonra yapılana kadar. –