Отключить кэширование Ajax запросов

315
17 октября 2017, 04:56

Здравствуйте, форма заказа отправляется на почту через Ajax запрос. Во всех браузерах кроме Safari вопросов с ее отправлением не возникает, а вот Safari отправляет только первый запрос, а при повторном забивает все в кэш без отправки.

$('#form-constructor').submit(function() { 
        var form_data = $(this).serialize();
        $.ajax({
        type: "POST", 
        url: "data/constructor.php", 
        data: form_data,
        cache: false,
        success: function() {
                document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
                window.onpageshow = function (event) {
if (event.persisted) {
    window.location.reload();
}};
Answer 1

Почему-то я не разу не слышал о «кеше отправки запроса», может дело в синхронности. Для начала просто попробуйте указать асинхронную отправку, укажите в теле запросе async: true;

READ ALSO
Отличия между attr() и getAttribute()

Отличия между attr() и getAttribute()

Использую скрипт, который в теле колбека при вызове this возвращает DOM:

247
переопределить функцию CSSStyleSheet.prototype.rules

переопределить функцию CSSStyleSheet.prototype.rules

Здравствуйте, Стандартную функцию переопределить обычно получаетсяВот пример:

367
{} + [] + {} = [object Object][object Object]?

{} + [] + {} = [object Object][object Object]?

Пытаюсь разобраться в некоторых тонкостях js{} + [] = 0 , потому что {} будет восприниматься как пустой блок кода, а + [] приведется к числу, т

230