Sweetalert2 Ajax - отправка входных данных

Недавно я работал с SweetAlert2 над своим проектом и хотел бы добавить функцию «Добавить заметку».

Пользователь нажимает кнопку, перенаправляется на страницу, и выполняется следующее.

    <script>swal({
      title: "Add Note",
      input: "textarea",
      showCancelButton: true,
      confirmButtonColor: "#1FAB45",
      confirmButtonText: "Save",
      cancelButtonText: "Cancel",
      buttonsStyling: true
    }).then(function () {
      swal(
        "Sccess!",
        "Your note has been saved!",
        "success"
      )
    }, function (dismiss) {
      if (dismiss === "cancel") {
        swal(
          "Cancelled",
"Canceled Note",
          "error"
        )
      }
    })</script>

То, что я пытаюсь сделать, и у меня были трудности с использованием ajax для публикации данных из поля ввода «textarea».

Я также хотел бы проверить, была ли отправка успешной или неудачной, используя следующие

'Успех'

swal(
        "Sccess!",
        "Your note has been saved!",
        "success"
      )

"Не удалось"

swal(
          "Internal Error",
          "Oops, your note was not saved."
          "error"
        )

Мне также нужно передать объект PHP в ajax (уникальный ключ идентификатора клиента) и разрешить ajax сохранять данные.

<?php $CustomerKey; ?>

Sweet Alert не дает много документации о том, как использовать ajax, и мне было трудно найти больше информации, касающейся моей проблемы с stackoverflow и онлайн-поиском.

Любая помощь будет принята с благодарностью.

пример JSFiddle;

https://jsfiddle.net/px0e3Lct/1/


person lzoesch    schedule 20.10.2017    source источник


Ответы (2)


Привет, что вам нужно сделать, это сделать вызов ajax в функции sweetalert then и передать переменную ключа клиента в качестве переменной POST, используя параметр данных ajax.

var CustomerKey = 1234;//your customer key value.
swal({
    title: "Add Note",
    input: "textarea",
    showCancelButton: true,
    confirmButtonColor: "#1FAB45",
    confirmButtonText: "Save",
    cancelButtonText: "Cancel",
    buttonsStyling: true
}).then(function () {       
    $.ajax({
        type: "POST",
        url: "YourPhpFile.php",
        data: { 'CustomerKey': CustomerKey},
        cache: false,
        success: function(response) {
            swal(
            "Sccess!",
            "Your note has been saved!",
            "success"
            )
        },
        failure: function (response) {
            swal(
            "Internal Error",
            "Oops, your note was not saved.", // had a missing comma
            "error"
            )
        }
    });
}, 
function (dismiss) {
  if (dismiss === "cancel") {
    swal(
      "Cancelled",
        "Canceled Note",
      "error"
    )
  }
})

И чтобы получить значение customerKey в вашем php-файле, в этом примере его (YourPhpFile.php) просто включите

$CustomerKey = $_POST['CustomerKey'];

Удачи

person Hayden Passmore    schedule 21.10.2017
comment
Как вы передаете данные из textarea в ajax? - person sanjeet bisht; 26.09.2020

во-первых, я вижу SweetAlert2, поэтому я надеялся, что вместо swal() я увижу swal.fire()

SweetAlert2 отличается от sweetalert

Документация SweetAlert2: https://sweetalert2.github.io/

person Feshibaba    schedule 02.07.2020