Salut salut a tous

exposition du problème -_-' : hier mon code fonctionais mais ca c'etait hier...

J'en avait marre de refaire tout un template html css pour un backoffice j'ai donc DL un template admin ( legalement de surcroit)
et mon script ajax me retourne une erreur 500...

j'ai commencé a créer avec l'aide de slim un CMS Basic ( pour mon boulot) et donc une administration qui va avec. J'ai besoin de passer par l'ajax pour effectuer une requette http delete mais elle me retourne une erreur 500 alors que mon url est absolument bonne...

code ajax

$(document).ready(function () {

    $('.btn-danger').on('click', function (e) {

        e.preventDefault();

        var url      = $(this).attr('href');

        $.ajax({
            type: 'DELETE',
            url: url,
            success: function (data, texteStatus, JqXHR) {
                a.parent('tr').fadeOut();
            },
            error: function(JqHXR, textStatus, errorThrow) {
                alert(errorThrow );
            }
        })
    });

});

controleur php


    public function delArticle($id)
    {
        $_POST['id'] = $id;
        r::exec("DELETE FROM articles WHERE id = :id", [':id'=>$id]);
    }

code template smarty

{foreach from=$articles item=article}
             <tr>
                <td>#</td>
               <td>{$article.titre}</td>
               <td>{$article.contenu|truncate:180}</td>
               <td>
                   <form method="post">
                      <a href="" class="btn btn-warning">Editer</a>
                      <a href="{urlFor name="article"}/{$article.id}" class="btn btn-danger">X</a>
                </form>
            </td>
         </tr>
{/foreach}

Pour le code smarty le form etait un essai pour voir si ca passé avec ou sans j'ai testé les deux.
et l'url retourné et du type
/route/id et quand je fait examiner l'element sur mon bouton il me retourne bien l'adresse de l'article concerné.

5 réponses


Defy
Auteur
Réponse acceptée

HO Bordel -- putain je suis un connard y as pas d'autre mot -- j'envoyé les infos sur le mauvais Controler....

Defy
Auteur

Personne à une idée?

Alors déjà tu peux d'ores et déjà virer le "method=POST" de ton form puisque tu précises déjà la méthode dans les options de la fonction $.ajax(). Ensuite, as-tu essayer de préciser la méthode POST en lieu et place de DELETE ? Tu travailles avec Apache2 en local (wamp, lamp ou mamp) ?

Defy
Auteur

J'utilise Vagrant et la box de schotch.io.

j'utilise une box par projet pour eviter de foutre le dawa dans mes projets.

j'ai essayé POST a la place de DELETE, j'ai essayé avec ou sans formulaire, dans des input, sans input, je comprend pas pk le code marche sur une box et pas sur une autre... J'ai recupérer mon code fonctionel sur une autre application mais ca fonctionne pas sur celle-ci alors que j'ai la meme config d'utilisation ... j'utilise Slim dans toute mes petite applications et j'ai juste rajouté smarty sur cette nouvelle application je pense pas que cela vienne de smarty quand meme...

edit: j'ai meme rajouter le lien de mon server en dur dans le href Rien n'y fait -_-

J'ai eu un soucis similaire en configurant mon serveur Web sur mon Raspberry Pi 2 hier, regarde au niveau de tes sites-enabled, et si ton mod_rewrite est bien activé.