2016-12-15 1 views
0

Was ist der einfachste Weg, um Code auf einem Webserver von einem HTML Button klicken? Zum Beispiel möchte ich eine Raspberry Pi unter Apache eine Webpage mit Schaltflächen darauf präsentieren, sollte jede Taste gedrückt werden können, die dann führt einen Systembefehl auf der Pi. Die Pi würde lokal ausgeführt werden, so dass ich nicht mit der Sicherheit etc. beschäftigt bin.Einfachste Möglichkeit, serverseitigen Code über eine HTML-Schaltfläche auszuführen, klicken Sie auf

Ich weiß sehr wenig über Web-Programmierung und habe mehrere Vorschläge gesehen, z. PHP mit HTML, jQuery und AJAX aber ich brauche nur eine einfache Lösung.

+0

Verwenden Ajax-Aufruf auf den Knopf drücken, auf diese Weise Sie Ihren Server-Code ausführen kann. – manny

Antwort

1

in Ihrem HTML klicken hinzufügen können, umfassen

<a href="#" onclick="ajaxcall()">Button</a> 

In Ihr js (mit jquery)

function ajaxcall() { 
    $.ajax({ 
     type: "POST", 
     url: "myscript.php", 
     data: { 
      var1 :val1 
     }, 
     success: function(response){ 
      // do something 
     } 
    }) 
} 

In Ihrer PHP-

<?php 
echo exec('your server command to exec'); 
?> 
+0

Ich habe diesen Weg versucht, aber nichts wird auf dem Server ausgeführt. Wenn ich auf die Schaltfläche klicke, sollte der Server eine TCP-Verbindung zu einem anderen Gerät einrichten, tut dies aber nicht. Irgendwelche Ideen? –

+0

All das passiert in einer Warnung erscheint "" Aber netcat wird nie tatsächlich ausgeführt –

+0

Arbeiten jetzt, hatte PHP nicht installiert ... –

1

Lernen Sie AJAX, es ist sehr einfach.

Ex:

$(document).ready(function(){ 
    $('#btn').click(function(){ // this ajax will call on button click whose id is "btn" 
     $.ajax({ 
      url: 'process.php', // url of file      
      type: 'POST',   // get or post       
      data: { 
       var1 :val1,  // variables list (key-value pair) 
       var2 :val2 
      }, 
      success: function(response){ // response from process.php 
       // do your stuff here 
      } 
     }); 
    }); 
}); 

P. S. Vergessen Sie nicht, die jQuery-Bibliothek von CDN oder von lokalen

Ajax Reference

+0

Ich weiß wenig über Web-Programmierung, so dass diese Antwort zu komplex ist, um mich zu verwenden –

0

Sie Ajax-Aufruf auf die Schaltfläche

$.ajax(function(){ 
     url : 'demo.php', //server script (php) return json/html response 
     method:'POST', 
     data:'{key : value}' , //parameter you need tosend 
    dataType:'json',// return type html/json 
    success:function(res){ 
     console.log(res); //res contains result 
     //you can user result as you want 
    }, 
    error:{ 
     //error message 
    }, 

}) 
Verwandte Themen