HTML Mailto: стильная электронная почта [дубликат]

Краткий ответ: ваш метод foo() возвращается немедленно, а вызов $ajax() выполняется асинхронно после возврата функции . Проблема заключается в том, как и где сохранить результаты, полученные при вызове async, после его возврата.

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

function foo(result) {
    $.ajax({
        url: '...',
        success: function(response) {
            result.response = response;   // Store the async result
        }
    });
}

var result = { response: null };   // Object to hold the async result
foo(result);                       // Returns before the async completes

Обратите внимание, что вызов foo() ] все равно не вернут ничего полезного. Однако результат асинхронного вызова теперь будет сохранен в result.response.

1
задан Pedro Lobito 20 April 2015 в 15:01
поделиться

3 ответа

Это довольно легко. Все, что вам нужно сделать, это указать свой тип контента (MIME). Измените форму на:

<form class="form" id="form1" action="mailto:myemail@email.com" method="post" enctype="text/plain">
2
ответ дан icecub 5 September 2018 в 08:10
поделиться

К сожалению, то, что вы можете сделать здесь с точки зрения форматирования, очень ограничено. Я бы предложил посмотреть на этот ответ:

Mailto на кнопке отправки

-1
ответ дан Community 5 September 2018 в 08:10
поделиться

Определить enctype в теге формы:

<form class="form" id="form1" action="mailto:myemail@email.com" method="post" ENCTYPE="text/plain">
1
ответ дан Filipe 5 September 2018 в 08:10
поделиться
Другие вопросы по тегам:

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