Почему $.post не работает на iPad/iPhone на моем сайте?

это одна из страниц.

При нажатии на значок ошибки в нижней части таблицы в таблице появляется больше ошибок. Затем, когда вы нажимаете на значок в таблице, появляется всплывающее окно qtip и захватывает код через функцию jquery $.post. Я протестировал его в IE, Chrome, Opera и Firefox, и он отлично работает. В сафари на ipod/ipad это не так, а консоль разработчика на устройстве не очень полезна. Единственное, что появляется в нем (дважды):


JavaScript: Error
undefined
TypeError: 'undefined' is not a function

Кто-нибудь знает, что может вызывать это, и связано ли это с тем, почему ajax не работает? Сценарий, относящийся ко всему этому, находится здесь.

Спасибо.


Редактировать. Это часть кода, которую я изменил, чтобы исправить ее. Он ушел из

$.post("ajax_requests.php?action=get_error_code", {data:$(this.targetThis).attr('data-errorData')}, function(data) {

    $(this.qtipThis).find('.code').html(data);

    $(this.qtipThis).find('.email .link').attr('onclick', '');
    $(this.qtipThis).find('.email .link').attr('href', 'mailto:'+errorReportEmail+'?subject=Website Table Error (Error id: '+data+')');

}.bind(this));

на это (благодаря ответу @raina77ow)

    var self = this;
    $.post("ajax_requests.php?action=get_error_code", {data:$(this.targetThis).attr('data-errorData')}, function(data) {

    $(self.qtipThis).find('.code').html(data);

    $(self.qtipThis).find('.email .link').attr('onclick', '');
    $(self.qtipThis).find('.email .link').attr('href', 'mailto:'+errorReportEmail+'?subject=Website Table Error (Error id: '+data+')');
});

person Tom Jenkinson    schedule 21.05.2012    source источник
comment
Однажды у меня была проблема с уменьшенной версией jquery на мобильных устройствах (я думаю, она выдала аналогичную ошибку). попробуйте изменить его на полный, чтобы увидеть, исправит ли это проблему.   -  person clem    schedule 22.05.2012
comment
Я изменился, боюсь, он все еще выдает ту же ошибку :(   -  person Tom Jenkinson    schedule 22.05.2012


Ответы (1)


Если проблема связана с $.post, возможно, это связано с некоторой вариацией этой проблемы. ? Дело не в batman, а в методе Function.bind().

person raina77ow    schedule 21.05.2012
comment
Вот и все! Теперь это работает. Я изменил его так, что вместо .bind он создает var self=this и вместо этого использует его. Спасибо :) - person Tom Jenkinson; 22.05.2012
comment
Это также устранило другую проблему, когда ссылка «нажмите здесь» на первом qtip не работала. - person Tom Jenkinson; 22.05.2012