Я пишу небольшой скрипт для захвата щелчков по ссылкам и сохранения URL-адреса ссылки в таблице базы данных, чтобы отслеживать, сколько раз нажимается каждая ссылка на определенной странице. Ссылки на внешние сайты.
Итак, я фиксирую событие click в моей функции JavaScript, использую jQuery для публикации на странице PHP, которая сохраняет данные в MySQL, а затем функция JavaScript перенаправляет пользователя на URL-адрес ссылки, по которой он щелкнул.
Проблема, с которой я сталкиваюсь, заключается в том, что кажется, что сообщение никогда не завершается из-за перенаправления. Я работал над этим, вызывая перенаправление внутри обратного вызова post, но это добавляет задержку в несколько секунд, потому что он вызывается только после завершения публикации. Я ищу способ просто опубликовать данные и сразу же перенаправить пользователя, независимо от того, удачно это сообщение или нет.
Это текущий код с обходным решением. Работает нормально, но добавляет задержку:
function trackClicks(event)
{
var clicked = $(this).attr('href');
$.post
(
$('#track-click-post-url').attr('value'),
{
action: 'track_landing_page_clicks',
clicked_url: clicked,
nonce: $('#track-click-nonce').attr('value')
},
function( response )
{
window.location = clicked;
}
);
event.preventDefault();
}
И это то, что я хотел бы сделать, но когда я пытаюсь, это никогда не завершается:
function trackClicks(event)
{
var clicked = $(this).attr('href');
$.post
(
$('#track-click-post-url').attr('value'),
{
action: 'track_landing_page_clicks',
clicked_url: clicked,
nonce: $('#track-click-nonce').attr('value')
}
);
window.location = clicked;
event.preventDefault();
}