У меня есть следующий код:
<div id="parentDiv">
<a href="someurl"> ... </a>
</div>
HTML внутри div взят из внешнего источника, и я не знаю его структуру и не могу его контролировать.
Мне нужно опубликовать некоторые данные, когда эта ссылка была нажата. Поэтому я добавил обработчик события onclick в элемент div, надеясь, что событие будет распространяться, и разместил данные с помощью функции jQuery ajax.
Это работало нормально во всех браузерах, кроме Safari - он не возвращает никаких ошибок, вызывает функцию обратного вызова, но по какой-то причине не достигает сервера. Я пишу в базу данных каждый раз, когда получаю запрос. Пытался вручную загрузить URL-адрес поста в браузере - работает нормально и создается запись в БД. Также пробовал FF и Chrome - работает как положено.
Когда поместить оповещение в функцию обратного вызова, оно вызывается, но в Safari data = null.
$('#parentDiv').delegate( 'a', 'click', function()
{
$.post('posturl',
{ param1: 'test'},
function(data)
{
alert('data = '+data);
},
"json"
);
});
Правильно ли ожидать, что AJAX вообще будет работать в этой ситуации? И есть ли лучшее решение этой проблемы?
Спасибо!