Résolu Problème envoie message en ajax

Statut
N'est pas ouverte pour d'autres réponses.

JustForGamingCom

Développeur WEB / Fondateur : JustForModding.com
Premium
Inscription
25 Février 2013
Messages
1 854
Réactions
988
Points
10 106
RGCoins
25
Bonjour, je rencontre actuellement le problème actuel :

Je me suis basé sur un script d'envoie de message en ajax que @W. m'avais fait mais le message ne s'envoie pas et je ne comprend pas trop ou ce trouve l'erreur .. (je debute dans l'ajax)

voici le script en question :

PHP:
<script>
            $(document).ready(function(){
                function redirectToLogin(){
                    window.location.href = "/admin/tickets";
                }


                $(document).ready(function(){
                $('#message-submit').on('click', function(e){
                    e.preventDefault();
                    let datas = {
                        message: $('#inputMessage').val(),
                        idTicket: $('.idticket').val()

                    };

                    $.ajax({
                        url: 'ticket?id='+datas.idTicket,
                        type: 'POST',
                        data: datas
                    }).done(function(e){
                            console.log(e);
                            var result = JSON.parse(e);
                            console.log(result);
                            $.each(result, function(index, value){
                                if(!result.alert){
                                    alertmsg.addClass('alert alert-success');
                                    alertmsg.html("Réponse ajoutée au ticket, vous allez être redirigé !");
                                    setTimeout(redirectToLogin, 3000);
                                } else {
                                    alertmsg.addClass('alert alert-danger');
                                    alertmsg.html("<strong>Oupss</strong> " + result.alert);
                                }
                            });
                        });
                    });
</script>

Le form html :

HTML:
<form method="post">
                                            <div class="">
                                            <input type="hidden" id="idTicket" disabled="" value="<?php echo $id; ?>">
                                                <textarea class="  form-control" id="inputMessage" rows="5" placeholder="Saisissez votre réponse ici..."></textarea>
                                                <div class="m-t-10">
                                                    <button type="submit" id="message-submit" class="btn btn-success">Envoyer la réponse</button>
                                                </div>
                                            </div>
                                            </form>
 
Ton champ "idTicket" dans le code JavaScript est défini sous class, or dans l'HTML tu utilises l'ID.

Tu devrais donc avoir:
Code:
let datas = {
    message: $('#inputMessage').val(),
    idTicket: $('#idTicket').val()
};
 
Ton champ "idTicket" dans le code JavaScript est défini sous class, or dans l'HTML tu utilises l'ID.

Tu devrais donc avoir:
Code:
let datas = {
    message: $('#inputMessage').val(),
    idTicket: $('#idTicket').val()
};

dacc merci j'essaie
 
Code:
<script>
$(document).ready(function(){
function redirectToLogin(){
window.location.href = "/admin/tickets";
}

$('#message-submit').on('click', function(e){
e.preventDefault();
let datas = {
message: $('#inputMessage').val(),
idTicket: $('#idticket').val()

};

$.ajax({
url: 'ticket?id='+datas.idTicket,
type: 'POST',
data: datas
}).done(function(e){
console.log(e);
var result = JSON.parse(e);
console.log(result);
$.each(result, function(index, value){
if(!result.alert){
alertmsg.addClass('alert alert-success');
alertmsg.html("Réponse ajoutée au ticket, vous allez être redirigé !");
setTimeout(redirectToLogin, 3000);
} else {
alertmsg.addClass('alert alert-danger');
alertmsg.html("<strong>Oupss</strong> " + result.alert);
}
});
});
});
});
</script>
essaye comme ça
 
Ton champ "idTicket" dans le code JavaScript est défini sous class, or dans l'HTML tu utilises l'ID.

Tu devrais donc avoir:
Code:
let datas = {
    message: $('#inputMessage').val(),
    idTicket: $('#idTicket').val()
};

Toujours pareil
 
Code:
<script>
$(document).ready(function(){
function redirectToLogin(){
window.location.href = "/admin/tickets";
}

$('#message-submit').on('click', function(e){
e.preventDefault();
let datas = {
message: $('#inputMessage').val(),
idTicket: $('#idticket').val()

};

$.ajax({
url: 'ticket?id='+datas.idTicket,
type: 'POST',
data: datas
}).done(function(e){
console.log(e);
var result = JSON.parse(e);
console.log(result);
$.each(result, function(index, value){
if(!result.alert){
alertmsg.addClass('alert alert-success');
alertmsg.html("Réponse ajoutée au ticket, vous allez être redirigé !");
setTimeout(redirectToLogin, 3000);
} else {
alertmsg.addClass('alert alert-danger');
alertmsg.html("<strong>Oupss</strong> " + result.alert);
}
});
});
});
});
</script>
essaye comme ça

marche pas
 
Peut-être comme ça:
Code:
$.ajax({
    url: 'ticket?id=' + datas.idTicket,
    type: 'POST',
    data: { message: datas.message }
}).done({ ton code... });

A toi d'ajuster le php derrière aussi

oui tkt j'avais juste remplacé la partie qui fallait mais sa ne fait rien :x

Je pense que le mieux si cela ne vous gène pas c'est que je mette la page en pièce jointe a ce commentaire et que vous me dite ce qui cloche ou et pourquoi ..
 

Fichiers joints

Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut