Не удалось загрузить ресурс: истекло время ожидания запроса на Safari на моем сайте WordPress - PullRequest
1 голос
/ 29 мая 2019

У меня есть WordPress сайт.Недавно у нас появилась проблема в запросе ajax.На веб-сайте у нас есть открытое всплывающее окно для регистрации, когда я нажимаю на регистр и вызываю ajax, он получает сообщение «Не удалось загрузить ресурс: истекло время ожидания запроса.» Только в браузере Safari

Я пробовал с async: true, timeout, а такжеsetTimeout для решения этой проблемы, но никто не работает.

var request = $.ajax({
                url: jobifySettings.homeurl, 
                data: data,
                type: 'POST',
                cache: false
            }).done(function(response) {
                form.find( $( '.woocommerce-error' ) ).remove();

                var $response = $( '#ajax-response' );
                var html = $.parseHTML(response);

                console.log( response );

                $response.append(html);
                error = $response.find( $( '.woocommerce-error' ) );

                if ( error.length > 0 ) {
                    form.prepend( error.clone() );
                    $response.html('');

                    e.preventDefault();
                }
            });

1 Ответ

0 голосов
/ 30 мая 2019

Во-первых, я бы сказал, что в ваших настройках ajax (как вы сказали, вы пытались) установите async равным true, поскольку это заставит Safari держать соединение открытым, пока вы не получите ответ обратно (а затем закроете его).

Однако, если это не работает для вас самостоятельно, вы можете попробовать добавить заголовок 'CORS' из разных источников (набор заголовков Access-Control-Allow-Methods: "*") в файле htaccess. Если у вас есть проблемы с CORS, может помочь эта ссылка для устранения неполадок .

Цитата из ссылки: (на случай, если она сломается в будущем)

<ifmodule mod_headers.c="">
   SetEnvIf Origin "^(.*\.domain\.com)$" ORIGIN_SUB_DOMAIN=$1
   Header set Access-Control-Allow-Origin "%{ORIGIN_SUB_DOMAIN}e" env=ORIGIN_SUB_DOMAIN
   Header set Access-Control-Allow-Methods: "*"
   Header set Access-Control-Allow-Headers: "Origin, X-Requested-With, Content-Type, Accept, Authorization"
</ifmodule>
...