J'ai un simple problème qui a été posé à plusieurs reprises, mais je ne peux pas le résoudre. Je veux juste de la partie composante HTML, appelez un fichier JavaScript pour exécuter une commande, en cliquant sur un bouton sur un bouton.
mais quand je clique sur le bouton, rien ne se passe. P>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p id="counter">Loading button click data.</p> <button id="buttonForScrapping">begin to scrap!</button> <script> function startScrap(){ jQuery.ajax({ type:'get', url:'../../../scrapping.js', data:[], dataType:'json', success: function(rs) {}, failure : function(rs) {} }); } </script> </body> </html> This is the html code, and the js file is : const {exec} = require('child_process'); const button = window.document.getElementById('buttonForScrapping'); button.addEventListener('click', function(e) { exec('scrapy crawl address', (err, stdout, stderr) => { console.log(`stdout: ${stdout}`); console.log(`stderr: ${stderr}`); });});
3 Réponses :
Pour exécuter le code sur le serveride, vous avez besoin d'un serveur pour répondre aux demandes. Cela pourrait ressembler à ceci: qui ouvrira un serveur sur le port 80 Si vous démarrez le script avec MAINTENNE MAINTENANT SUR LE PLUS Frontend, vous devez démarrer une demande AJAX au backend: p> nœud ./scrapping.js code> et répondez avec JSON si Vous le visitez sur http: // localhost / adresse p>
Vous devez inclure le fichier JS dans le fichier HTML comme dans l'exemple.
src code> attribut de
script code>.
Comme cela n'est pas lié à l'angulaire, j'ai supprimé la balise. Je vous suggère d'utiliser les bonnes pour atteindre le montant maximum de personnes qui peuvent vous aider!
Vous ne pouvez pas accéder à l'API du navigateur et à l'API du serveur en même temps à partir du même code.
Vous pouvez utiliser la méthode OnClick sur votre bouton HTML pour appeler une fonction JS.
Désolé j'ai oublié d'appeler la fonction, mais cela ne fonctionne toujours pas, merci!