2017-07-16 3 views
0

Bonjour, j'essaye d'envoyer des données à une page en utilisant AJAX, j'ai utilisé ajax parce que j'ai besoin du contenu html d'une zone de texte (j'ai utilisé minuscule mce plugin éditeur de texte), je veux passer la valeur de la zone de texte et la charger sur la page. Mais alors je l'inspecte et suis allé au réseau XHR, j'ai découvert que la page a envoyé les données ajax mais il ne redirige pas vers l'autre page et aussi mon entrée qui a un nom de 'titre' n'a pas envoyé les données à la page. Une idée de comment résoudre ce problème? voici mon code. Merci d'avoir réponduEnvoi de valeur à une page en utilisant AJAX, l'action de formulaire ne fonctionne pas

HTML:

<form class="well" action="lessons/add_lesson.php?user_id=<?php echo $user_id; ?>" method="post" role="form"> 
    <div class="form-group"> 
     <input type="text" name="title" id="title" tabindex="2" class="form-control" required="true" 
     maxlength="24" placeholder="Title"> 
    </div> 

    <div class="form-group"> 
     <label for="content">Content:</label> 
     <textarea id="content" name="content" class="tinymce" placeholder="Content" id="comment"></textarea> 
    </div> 

    <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> 

    <div class="form-group"> 
     <div class="row"> 
     <div class="col-md-4"></div> 
     <div class="col-md-4"> 
      <input type="submit" name="submit" class="btn btn-primary btn-block" id="update_account" href="#" data-target="updateAccount" value="Create"> 
     </div> 
     <div class="col-md-4"></div> 
     </div> 
    </div> 
</form> 

AJAX/JQuery

<script> 
    $(document).ready(function(){ 
     $('form').submit(function(e){ 
      //save button 
      var btn_submit = $(this).find('submit'); 


      e.preventDefault(); 
      tinyMCE.triggerSave(); 
      var content = tinymce.get("content").getContent(); 
      $.ajax({ 
       type: 'POST', 
       url: 'lessons/add_lesson.php?user_id=<?php echo $user_id; ?>', 
       dataType: 'html', 
       data: { data: 'fuck' }, 
       success: function(data){ 
       } 
      }); 

     }); 
    }); 
</script> 

Voici la réponse du réseau XHR

Répondre

0

Vous n'envoyez en fait une de votre formulaire Les données. PHP ne reçoit pas de valeur pour title et se plaint donc que (je suppose) $_['POST']['title'] n'existe pas.

Ajoutez votre title et content valeurs à l'objet data dans le $.ajax appel:

$.ajax({ 
    type: 'POST', 
    url: 'lessons/add_lesson.php?user_id=<?php echo $user_id; ?>', 
    dataType: 'html', 
    data: { 
     // add this: 
     title: $('#title').val(), 
     content: content 
    }, 
    success: function(data){ 
    } 
}); 
+0

toujours pas redirigeant ... –

+0

Vous pouvez ajouter 'window.location = "nouvelle URL"' 'la Success' rappel, voir https://stackoverflow.com/questions/4744751/how-do-i-redirect-with-javascript – chrki

+0

finit à la fois après les données non définies. –