Zlika Posted December 3, 2014 Share Posted December 3, 2014 Bonjour, Une question qui me taraude ! J'ouvre une page qui déclenche un ajax. Je clique un lien qui appelle une nouvelle page alors que l'ajax s’exécute. Que se passe-t-il ? 1) le processus ajax s'arrête 2) le processus aboutit. Merci pour votre érudition. Link to comment Share on other sites More sharing options...
SStephane Posted December 3, 2014 Share Posted December 3, 2014 Les requêtes ajax sont arrétées sur le unload (de mémoire) -> 1 donc, Link to comment Share on other sites More sharing options...
Portekoi Posted December 3, 2014 Share Posted December 3, 2014 Euh non, si tu envoies une requêtes à un fichier PHP, ce dernier ne s'arrêtera pas même si tu quittes la page. Le script se fait côté serveur donc normal. Link to comment Share on other sites More sharing options...
captain_torche Posted December 3, 2014 Share Posted December 3, 2014 Si on parle de processus strictement AJAX, selon SStéphane il serait arrêté. Mais effectivement, tiens compte de la remarque de Portekoi si derrière l'AJAX, un traitement lourd est effectué côté serveur. Link to comment Share on other sites More sharing options...
Zlika Posted December 8, 2014 Author Share Posted December 8, 2014 Bonjour et merci à vous pour vos réponses, J'ai passé le cron en post dont l'option async est sur true pas défaut. En fait si je comprends bien le script php lancé en ajax ne s'arrêtera pas Je vais quand même me faire un test et je reviens vous dire Link to comment Share on other sites More sharing options...
Zlika Posted December 12, 2014 Author Share Posted December 12, 2014 Bonjour, Pour info J'ai donc fait un test avec un script ajax qui contient un sleep(20) suivi d'un update en base ! Le script php est éxécuté coté serveur, sur changement de page et sur kill de l'onglet sous FF et chrome. Bon WE Link to comment Share on other sites More sharing options...
captain_torche Posted December 12, 2014 Share Posted December 12, 2014 Ca ne confirme que le fait qu'à partir du moment où le script PHP est appelé, il est exécuté jusqu'au bout, comme te l'avait spécifié Portekoi. Link to comment Share on other sites More sharing options...
Zlika Posted December 13, 2014 Author Share Posted December 13, 2014 Tout à fait Captain Torche, c'est l'info que je recherchais ! Je ne me sers pas de l'évènement unload Qu'y aurait-il d'autre à confirmer ? Link to comment Share on other sites More sharing options...
captain_torche Posted December 13, 2014 Share Posted December 13, 2014 Ta première question était un peu ambigüe, d'où les deux réponses apparemment contradictoires (Et toutes deux exactes) que tu as reçues : - Lors de l'exécution du onUnload, les processus AJAX (Donc purement JavaScript) s'arrêtent - Toutefois, à partir du moment où l'exécution d'un code côté serveur est lancée (PHP ou autre), cette exécution est totalement indépendante du navigateur. Donc, les processus serveur lancés ne s'arrêteront pas Link to comment Share on other sites More sharing options...
SStephane Posted December 14, 2014 Share Posted December 14, 2014 Oui je me suis mal exprimé, tout est tué lors du window.unload : ta requête si elle est en cours, l'implémentation de ta méthode onsuccess (success si tu utilises jquery), tes écouteurs, tout. Il me paraissait évident que si ta requête est passé côté serveur... elle semble difficile à arreter en javascript ... désolé si tu as mal compris. Si tu cherches à faire ce que tu sembles vouloir... essaie autre chose que l'ajax qui ne suffira pas (mais dans tous les cas, je me demande bien quoi ). Link to comment Share on other sites More sharing options...
Zlika Posted December 15, 2014 Author Share Posted December 15, 2014 Très perspicace SStephane Ce qui m'a poussé à rédiger ce post c'est effectivement un ajax en solution temporaire d'un script qui ne fonctionne pas en crontab ! ça n'est d'ailleurs pas assez viable donc je retourne dans le crontab lequel est fait pour ça ! Tout est clair ! Merci pour vos contributions, j'ai quand même recalé une brique de base en passant ;-) Zlika Link to comment Share on other sites More sharing options...
SStephane Posted December 17, 2014 Share Posted December 17, 2014 Si tu voulais obtenir ça en web, la seule solution serait le socket avec côté serveur, des appels transactionnels à ta base (rollback si la connexion est coupé avant la fin, commit sinon). Comme quoi c'est quand même faisable Link to comment Share on other sites More sharing options...
Zlika Posted December 17, 2014 Author Share Posted December 17, 2014 Bien vu Mais je suis un vieux troll qui fonctionne encore sur du MyISAM C'est problématique sur les modifs de table mais sur select en front avec un bon cache, je tourne à 100 ms sur certaines pages Mais tu viens de me démontrer l'utilité de l'innodb.... que j'intuitais déjà ! Non j'ai un problème de cron parceque je ne maitrise pas la programmation objet poussée de mon web service, j'ai un problème de chemin que je n'arrive pas à résoudre ! Faut que je prenne des cours et que j'arrête le procédural ! LOL Bonne soirée Zlika Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now