Safari не позволяет Запросы Ajax после того, как форма отправит?

Для этого случая вы хотите MyMath :: calcSomething (). "." синтаксис для вызова функций в объектах. Синтаксис :: предназначен для вызова функций в классе или пространстве имен.

9
задан 4 June 2009 в 18:24
поделиться

4 ответа

Are you using an iframe to submit your form to? I'm guessing that once the form is submitted, the page enters a state where no more modifications to the DOM can be made.

Check a tutorial such as this one for more information.

2
ответ дан 4 December 2019 в 22:29
поделиться

На самом деле это звучит как правильное поведение для меня - и я удивлен, что Firefox и IE ведут себя иначе.

Это похоже на то, что вы пытаетесь покинуть страницу, а страница все еще взаимодействует с вами - звучит непослушно!

я понимаю, почему это может быть полезно, но я надеюсь, что это будет только в том случае, если вы выполняете POST для uri, к которому вы в данный момент обращаетесь, или, в худшем случае, того же домена.

0
ответ дан 4 December 2019 в 22:29
поделиться

Да, именно так ведет себя Safari и любой браузер на базе WebKit (например, Google Chrome). Я недавно столкнулся с этим на индикаторе загрузки файлов. В итоге я использовал ту же методику, что и на http://drogomir.com/blog/2008/6/30/upload-progress-script-with-safari-support , чтобы заставить ajax работать. В моем случае я не хотел менять внешний вид своего приложения на то, что использует Дрогомир, но сама техника работала. По сути, решение состоит в том, чтобы создать скрытый iframe только в Safari, который загружает jQuery и ваш скрипт AJAX. Затем верхний фрейм вызывает функцию в этом фрейме при отправке формы. Все остальные браузеры по-прежнему работают так же, как и раньше.

3
ответ дан 4 December 2019 в 22:29
поделиться

Это ошибка WebKit. См. https://bugs.webkit.org/show_bug.cgi?id=23933

3
ответ дан 4 December 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: