Mes requêtes AJAX ne fonctionnent plus

Bonjour à tous,

J'ai un problème avec l'ensemble de mes sites hébergés sur OVH … Je suis développeur et j'utilise beaucoup AJAX (codées en jquery) pour lancer des requêtes qui pointent vers un fichier PHP chargé de traiter et/ou de renvoyer des informations. Ce fichier se trouve dans le même espace d'hébergement (et dans le même répertoire, avec les droits en 705) que les scripts AJAX qui l'interpellent …

Cela a très bien fonctionné durant de nombreuses années … Mais du jour au lendemain, il y a à peu près quelques semaines, ça a cessé de marcher, probablement du fait d'une mise à jour chez OVH (puisque ça se répercute sur tous mes sites, y compris ceux qui ne sont pas hébergés sur le même compte), ça concerne peut-être la sécurité (je sais pas). Donc le problème ne vient pas de chez moi. J'ai essayé de contacter deux fois le service technique de OVH en expliquant tous les détails, ils n'ont pas pu m'aider et, dans la dernière réponse, m'ont conseillé d'en parler des développeurs sur ce forum …

J'ai regardé le message d'erreur dans la console, elle me signale une erreur 500, sans autre précision en dehors du nom du fichier php vers lequel les requêtes pointent.

- J'ai essayé de modifier le .htaccess, en modifiant des choses, le problème reste le même.
- J'ai testé avec des header("Access-Control-Allow-Origin: *"); et header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS"); , le problème reste le même également.
- J'ai testé la page indépendamment du script ajax, le serveur la trouve bien, elle existe bien (évidemment, au cas où on me poserait la question) …
- J'ai été voir les logs serveurs : je n'apprends rien de ce que je ne sais déjà, à moins que je n'ai pas consulté les bons …

Mes requêtes sont donc bloquées. J'ignore ce qu'il s'est passé, peut-être faut-il juste modifier un 0 vers un 1 dans le php.ini, je n'en sais rien … Quelqu'un sait-il ce qu'il se passe, et ce que je devrais faire pour récupérer le bon fonctionnement de mes petits sites (dont mes ERP) ?

Bien cordialement,
JM

PS : un exemple de requête AJAX en jquery …

$.ajax
({
type: 'POST',
data: 'w=empsuperadmin',
url: 'ajax.php',
success : function(answer)
{
if (answer == 1)
{
console.log("ok");
}
}
});

Bonjour,

vous avez un exemple en ligne ?
Vous avez vérifier que dans la partie PHP tout fonctionne (y compris s'il y a des requêtes SQL qui peuvent ne plus fonctionne suite au passage à MySQL8) ?

Cordialement, janus57

Bonjour,

Merci pour votre conseil … J'ai complétement fait fausse route, le problème est en effet lié au passage de MySQL8 … Après avoir testé d'autres de mes sites, j'ai compris que mon soucis ne venait pas d'AJAX … J'ai tout passé au peigne fin et personne n'aurait pu m'aider tellement le bug était lié à un seul et simple détail que personne n'aurait pu trouver : j'avais simplement, sur les sites concernés, une colonne dans l'une de mes tables de ma DB qui s'appelait "function" (pour la "fonction" professionnelle des employés, la même chose pour les deux sites) ; hors, depuis la mise à jour, cela semble presque interdit (le mot étant réservé à autre chose), à moins de mettre 'function' entre apostrophes lors de la requête SQL (ce que je ne faisais jamais pour mes requêtes) … C'est en mettant ces apostrophes que le problème a été corrigé, mes deux sites refonctionnent à présent complétement bien.

Bref, mon appel à l'aide sur ce forum n'a plus de sens vu que j'étais complétement à côté de la plaque dans mon analyse du problème et que cette affaire relevait d'un détail sur lequel très peu de développeurs vont se retrouver confrontés … Je ne peux malheureusement pas l'effacer. Si un modérateur peut supprimer mon message, qu'il n'hésite pas.

Un grand merci à Janus57 en tous cas !

Bonjour,

De rien, mais cela peut-être utile quand même si d'autres ont des soucis similaires.

Cordialement, janus57