Size: a a a

JavaScript — русскоговорящее сообщество

2019 November 13

ЮК

Юрий Кононенко in JavaScript — русскоговорящее сообщество
это беларусский?
источник

EB

Eugene Belkovich in JavaScript — русскоговорящее сообщество
Юрий Кононенко
это беларусский?
синтаксический сахар для русского)
источник

ЮК

Юрий Кононенко in JavaScript — русскоговорящее сообщество
Leet 4
Вообще, wasm не создавался, чтобы на нем писали "с удобством, на любом другом языке". Это гребаный асемблер, чтобы обеспечеть низкоуровнивое управление в работе с памятью. А дальше уже все желающие реализовали компиляцию "своих любимых языков" в wasm.
кстати, а wasm уже можно юзать или он еще в доработках до сих пор?
источник

EB

Eugene Belkovich in JavaScript — русскоговорящее сообщество
Leet 4
Вообще, wasm не создавался, чтобы на нем писали "с удобством, на любом другом языке". Это гребаный асемблер, чтобы обеспечеть низкоуровнивое управление в работе с памятью. А дальше уже все желающие реализовали компиляцию "своих любимых языков" в wasm.
Чувствую они потом как народ вкоммитится сделают браузер как ОС для своих девайсов чтоб очередной раз юзеров анально изолировать трекать чекать и контролить
источник

EB

Eugene Belkovich in JavaScript — русскоговорящее сообщество
Скриньте
источник

ЮК

Юрий Кононенко in JavaScript — русскоговорящее сообщество
ну так браузер к тому и идет
источник

ЮК

Юрий Кононенко in JavaScript — русскоговорящее сообщество
быть целой кроссплатформеной ОС
источник

ЮК

Юрий Кононенко in JavaScript — русскоговорящее сообщество
и вместо некросплатформеного кода у нас будет некроссбраузерный
источник

ЮК

Юрий Кононенко in JavaScript — русскоговорящее сообщество
вах
источник

EB

Eugene Belkovich in JavaScript — русскоговорящее сообщество
Просто ужас🙂
источник

L4

Leet 4 in JavaScript — русскоговорящее сообщество
Юрий Кононенко
кстати, а wasm уже можно юзать или он еще в доработках до сих пор?
фигма на нем во всю работает )
источник

L4

Leet 4 in JavaScript — русскоговорящее сообщество
их не устраивало то, как плохо работает DOM и они запилили свой DOM на канвасе и вычислениями в wasm, с блек джеком и ...
источник

АП

Александр Принцип in JavaScript — русскоговорящее сообщество
Отправляю через ajax + PHP почту, возвращает ошибку 404, но письмо отправляется, эт как?
источник

M

Maxim in JavaScript — русскоговорящее сообщество
Александр Принцип
Отправляю через ajax + PHP почту, возвращает ошибку 404, но письмо отправляется, эт как?
В пхп коде гдето ошибка так наверное
источник

АП

Александр Принцип in JavaScript — русскоговорящее сообщество
а почта бы при это отправлялась ?
источник

M

Maxim in JavaScript — русскоговорящее сообщество
Александр Принцип
а почта бы при это отправлялась ?
Привет, не знаю я не вижу ваш код и не пхпшник
источник

АП

Александр Принцип in JavaScript — русскоговорящее сообщество
/**
* Handler of forms
*/

class PostForm {
 constructor(option) {
   this.form = option.form;
   this.url = option.url;
   this.method = option.method;
   this.alert = option.alertOpt.alert;
   this.classSuccess = option.alertOpt.classSuccess;
   this.classError = option.alertOpt.classError;
   this.alertMessage = option.alertOpt.message;
   this.form.forEach((item) => {
     item.addEventListener('submit', (e) => {
       this.sendRequest(e);
     });
   });
 }

 createRequest(form) {
   const data = new FormData(form);
   fetch(form.action, {
     method: 'POST',
     body: data,
   })
     .then((resp) => {
       if (resp.status === 200) {
         form.style.display = 'none';
         this.showAlertSuccess('<h6>Сообщение отправлено!</h6><p>Мы свяжемся с вами в ближайшее время</p>');
       } else {
         this.showAlertError('<p>Упс! Что-то пошло не так :(</p>');
       }
     })
     .catch(error => console.error(error));
 }

 sendRequest(e) {
   console.log(e.currentTarget);
   e.preventDefault();
   this.createRequest(e.currentTarget);
 }

 showAlertSuccess(message) {
   this.alert.classList.add(this.classSuccess);
   this.alertMessage.innerHTML = message;
   this.alert.style.display = 'flex';
 }

 showAlertError(error) {
   this.alert.classList.add(this.classError);
   this.alertMessage.innerHTML = error;
   this.alert.style.display = 'flex';
 }
}

document.addEventListener('DOMContentLoaded', () => {
 const form = document.querySelectorAll('.form--post');
 
 if (form) {
   (() => new PostForm({
     form: form,
     url: '',
     method: 'POST',
     alertOpt: {
       alert: document.querySelector('.alert'),
       classSuccess: 'alert--success',
       classError: 'alert--error',
       message: document.querySelector('.alert__message'),
     },
   }))();
 }
});
источник

AE

Alexey Ermakov in JavaScript — русскоговорящее сообщество
банхаммер
источник

АП

Александр Принцип in JavaScript — русскоговорящее сообщество
// Shortcode for form_order
function short_form_order() {
 $output = form_order_fields();
 return $output;
}
add_shortcode('form_order', 'short_form_order');

// Markup for form_order form
function form_order_fields() {

 ob_start(); ?>
 <form class="form form--post form-order" action="" method="POST">
   <button class="form-order__close" type="button">
     <svg class="form-order__close-icon">
       <use xlink:href="<?php echo get_template_directory_uri() ?>/assets/img/sprite.svg#icon-close"></use>
     </svg>
   </button>
   <h3 class="form__title">Оформить заявку</h3>
   <label class="form__label">
     <span class="form__label-text">Ваше имя</span>
     <input class="form__input" type="text" name="user_name" placeholder="Иван Иванович" required>
   </label>
   <label class="form__label">
     <span class="form__label-text">Почта</span>
     <input class="form__input" type="email" name="user_email" placeholder="email@gmail.com" required>
   </label>
   <label class="form__label">
     <span class="form__label-text">Телефон</span>
     <input class="form__input" type="tel" name="user_phone" placeholder="+79885553535" required>
   </label>
   <input type="hidden" id="g-recaptcha-response" name="g-recaptcha-response">
   <button class="form__button button" name="action" type="submit">Отправить</button>
 </form>
 <script>
   grecaptcha.ready(function() {
     grecaptcha.execute('', {action: 'order'})
     .then(function(token) {
       document.getElementById('g-recaptcha-response').value=token;
     });
   });
 </script>
 <?php
 return ob_get_clean();
}

// Handler for form_order form
function handler_form_order() {

 if ( 'POST' == $_SERVER['REQUEST_METHOD'] ) {
   $name   = $_POST["user_name"];
   $email  = $_POST["user_email"];
   $phone   = $_POST["user_phone"];
   define('SITE_KEY', '');
   define('SECRET_KEY', '');

   function getCaptcha($secretKey) {
     $response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".""."&response={$secretKey}");
     $return = json_decode($response);
     return $return;
   }

   $return = getCaptcha($_POST['g-recaptcha-response']);

   if($return->success == true && $return->score > 0.5) {
     $to = 'avprinciple@gmail.com';
     $subject = 'Заказ';
     $message = "Имя:\r\n". $name ."\r\n\r\n";
     $message .= "Почта:\r\n". $email ."\r\n\r\n";
     $message .= "Телефон:\r\n". $phone ."\r\n\r\n";
     $response_mail = wp_mail( $to, $subject, $message, $headers = '');
   }

 }

}
add_action('init', 'handler_form_order');
?>
источник

M

Maxim in JavaScript — русскоговорящее сообщество
Александр Принцип
/**
* Handler of forms
*/

class PostForm {
 constructor(option) {
   this.form = option.form;
   this.url = option.url;
   this.method = option.method;
   this.alert = option.alertOpt.alert;
   this.classSuccess = option.alertOpt.classSuccess;
   this.classError = option.alertOpt.classError;
   this.alertMessage = option.alertOpt.message;
   this.form.forEach((item) => {
     item.addEventListener('submit', (e) => {
       this.sendRequest(e);
     });
   });
 }

 createRequest(form) {
   const data = new FormData(form);
   fetch(form.action, {
     method: 'POST',
     body: data,
   })
     .then((resp) => {
       if (resp.status === 200) {
         form.style.display = 'none';
         this.showAlertSuccess('<h6>Сообщение отправлено!</h6><p>Мы свяжемся с вами в ближайшее время</p>');
       } else {
         this.showAlertError('<p>Упс! Что-то пошло не так :(</p>');
       }
     })
     .catch(error => console.error(error));
 }

 sendRequest(e) {
   console.log(e.currentTarget);
   e.preventDefault();
   this.createRequest(e.currentTarget);
 }

 showAlertSuccess(message) {
   this.alert.classList.add(this.classSuccess);
   this.alertMessage.innerHTML = message;
   this.alert.style.display = 'flex';
 }

 showAlertError(error) {
   this.alert.classList.add(this.classError);
   this.alertMessage.innerHTML = error;
   this.alert.style.display = 'flex';
 }
}

document.addEventListener('DOMContentLoaded', () => {
 const form = document.querySelectorAll('.form--post');
 
 if (form) {
   (() => new PostForm({
     form: form,
     url: '',
     method: 'POST',
     alertOpt: {
       alert: document.querySelector('.alert'),
       classSuccess: 'alert--success',
       classError: 'alert--error',
       message: document.querySelector('.alert__message'),
     },
   }))();
 }
});
Это я так понимаю код на джс который на фронте и который не имеет отношения к тому что пхп возвращает 404 ошибку
Ну или же вы делаете запрос на роут которого нет и поэтому 404
источник