Je réussis à enregistrer la valeur d'entrée en utilisant ajax post mais ne charge pas la page suivante.CodeIgniter: jQuery poster et charger page suivante
client Code Side:
<script type="text/javascript">
function notifyEmail() {
var form_data = {
'email':$('#inviteEmail').val()
};
alert($('#inviteEmail').val());
$.ajax({
url: "<?php echo site_url('main/email_invites'); ?>",
type: 'POST',
data: form_data,
success: function(msg) {
return true;
}
});
}
</script>
<input type='text' id='inviteEmail' placeholder='Enter email'/>
<a href='#' name='email' id='invite-all' onclick='notifyEmail();' class='btn'>Notify Me</a>
Code du contrôleur:
function email_invites()
{
$this->load->model('emailInvites');
if($query = $this->emailInvites->saveEmailInvite())
{
$this->load->view('emailInvites');
}
}
pour une chose, vous avez '$ query =' au lieu de ' $ query == '. Était-ce intentionnel? D'autre part, vous posterez par AJAX, ce qui signifie que vous devrez utiliser Javascript pour charger la page suivante après la fin du POST (dans votre fonction 'success'). À l'heure actuelle, vous renvoyez juste un tas de HTML à votre fonction de succès, vous ne redirigez pas l'utilisateur. – glomad
Le signe d'affectation était une faute de frappe. Merci de l'avoir signalé. Comment rediriger l'utilisateur en utilisant jQuery ajax? –
Un moyen facile de le faire: Au lieu de '$ this-> load-> view (...', il suffit de renvoyer une chaîne comme '' ok'' .Puis dans votre succès, assurez-vous que 'msg' ==' ' Si oui, 'window.location.href = 'new_url'' Si ce n'est pas le cas, alerter l'utilisateur de l'échec de la publication – glomad