Получите ответы от php (SweetAlert)

Я хочу, чтобы форма HTML выглядела так:

<script>
    function name()
    {
        var name = $('#name').val();
        var url_send     = 'send.php';

        $.ajax({
            url     : url_send,
            data    : 'name='+name,
            type    : 'POST',
            dataType: 'html',
            success : function(pesan){
                    $("#result").html(pesan);
            },
        });
    }
    </script>
    <script src="assets/bootstrap-sweetalert.js"></script>
    <script src="assets/sweetalert.js"></script>
      <link rel="stylesheet" href="assets/sweet-alert.css">
        <form action="#" method="post">
        <label>Name</label>
        <input type="text" name="name"><br>
        <input type="submit" onclick="name();">
    <div id="result"></div>

а это send.php

<?php
$name = $_POST['name'];
if($name) {
echo 'success';
} else {
echo 'failed';
}
?>

И проблема в том, как я показываю мод SweatAlert, когда результат php Success Sweatalert покажет Success Modal.И когда failed это покажет Failed Modal? Теперь, что я должен отредактировать в моем сценарии?

2 ответа

Я надеюсь, что вы ожидаете код с jquery ajax;
Смотрите код ниже;
index.php

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>

<link rel="stylesheet" type="text/css" href="sweetalert-master/dist/sweetalert.css">
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="sweetalert-master/dist/sweetalert.min.js"></script>
<script>
$(document).ready(function () {
$("#submit").on("click", function(e){
    e.preventDefault();
    var name_val = $("#name").val();
    $.post( "send.php", {name_send:name_val}, function(data){
        if (data == 'success'){
            swal("Good job!", "Nice work!", "success");
            return false;
            }else{
            swal("Here's a message!", "Please type a name");
            }
    });
});


});

</script>
</head>
<body>
<form>
<label>Name</label>
<input type="text" name="name" id="name"><br>
<input type="submit" id="submit">
</form>
</body>
</html>


send.php

<?php
$name = $_POST['name_send'];
if($name) {
echo 'success';
} else {
echo 'failed';
}
?>
$.ajax({
        url     : url_send,
        data    : {name: name},
        type    : 'POST',
        dataType: 'html',
        success : function(pesan){
                $("#result").html(pesan);
        },
    });

в вашем коде AJAX вы разместили data : 'name='+name, пожалуйста, посмотрите на то, что я сделал, может быть, это помогает

JQuery Ajax принимает объект в параметре данных data: {key:value}, В вопросе мы используем строку в качестве параметра данных JQuery AJAX

Другие вопросы по тегам