recherche

Maison  >  Questions et réponses  >  le corps du texte

PHP ne reconnaît pas le contenu envoyé par Ajax

Je n'arrive pas à faire en sorte que PHP lise le texte envoyé via Ajax.

index.html

<head>
    <!--CSS Bootstrap-->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
          integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin=" anonymous">

    <!-- JS -->
    <script src="https://code.jquery.com/jquery-3.6.0.js"
            integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js"
            integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
            crossorigin="anonymous"></script>

    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
          integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
</head>

<!-- Button to trigger modal -->
<button type="button" class="btn btn-primary" id="btnOpen">
    Open demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="modalExample" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
     aria-hidden="true">
    <?php include "modal.php"; ?>
</div>

<script>
    // call the image modal
    $("#btnOpen").click(function () {

       //send the string to the php page
        $.ajax({
            type: 'POST',
            url: '//localhost/slider/modal.php',
            data: 'Test shipping',
        }).done(function () {
            alert('data sent');
        });

        // call the modal window
        $("#modalExample").modal("show");
    });

</script>

modal.php

<div style="text-align: center">
    <?php echo $_POST['data']; ?>
</div>
<div id="carouselExampleIndicators" class="carousel slide" 
     data-ride="carousel">
    <ol class="carousel-indicators">
        <li data-target="#carouselExampleIndicators" data-slide-to="0" 
            class="active"></li>
        <li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
        <li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
    </ol>
    <div class="carousel-inner">
        <div class="carousel-item active">
            <img class="d-block w-100" src="img.png" alt="First slide">
        </div>
        <div class="carousel-item">
            <img class="d-block w-100" src="img2.png" alt="Second slide">
        </div>
        <div class="carousel-item">
            <img class="d-block w-100" src="img3.png" alt="Third slide">
        </div>
    </div>
    <a class="carousel-control-prev" href="#carouselExampleIndicators" 
       role="button" data-slide="prev">
        <span class="carousel-control-prev-icon" aria-hidden="true"></span>
        <span class="sr-only">Previous</span>
    </a>
    <a class="carousel-control-next" href="#carouselExampleIndicators" 
       role="button" data-slide="next">
        <span class="carousel-control-next-icon" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
    </a>
</div>

Quand je clique sur le bouton, je reçois le message Envoi de données depuis Ajax , le slider n'affiche aucune erreur, mais le texte dans le div où PHP est censé lire le Post affiche une erreur :

Remarque : Index non défini : données dans...

P粉693126115P粉693126115264 Il y a quelques jours616

répondre à tous(1)je répondrai

  • P粉131455722

    P粉1314557222024-04-03 11:54:27

    Vous devez envoyer les données en tant qu'objet. Comme ça :

    $.ajax({
        type: 'POST',
        url: '//localhost/slider/modal.php',
        data: {data: 'Test shipping'},
    }).done(function() {
        alert('data sent');
    });

    répondre
    0
  • Annulerrépondre