2016-04-23 7 views
0

Zunächst einmal nennt, sorry für den seltsamen Titel! Aktuell im, vor folgendem Problem:generieren POST-Anfragen mit PHP erzeugt Tasten, die eine Javascript-Funktion mit Parametern

ich ein PHP-Skript, das eine Schaltfläche HTML erstellt

echo '<input type="button" id="$entryID" name="change_title" value="change title" onclick="sendRequest(sendRequest($type, $entryID));" />'; 

Diese Schaltfläche sollte ein Skript aufrufen, die

$type //is used to recognize which mysqli table should be adressed
$entryID //is used to recognize which entry in table sould be adressed

eine Post-Anforderung mit dem Parameter erstellt

Ich weiß, dass ich keine Post-Anfrage mit Javascript erstellen kann, weil es für Front-End-Entwicklung ist. Also habe ich ein paar Recherchen gemacht und AJAX gefunden. Also ich habe es nie wirklich benutzt. Aber ich versuchte, eine Post-Anforderung wie folgt aus (in der gleichen Datei) zu erstellen:

<script> 
    // t = type & i = ID 
    function sendRequest(t, i){ 

     var request = $.ajax({ 
     type: "POST", 
     url: "admin_page.php", 
     data: {"type": t, "id": i}, 
     success: function(){ 
      console.log('request via AJAX'); 
     } 
    }); 

     return request; 
    } 
</script> 

Nachdem das Skript ausgeführt wurde ich die folgende PHP-Skript verwenden, um zu überprüfen, ob es funktioniert hat:

if(isset($_POST['type'])){ 
    if(isset($_POST['id'])){ 
     printf('Post request sent'); 
    } 
} 

I habe die AJAX und die Javascript Dokumentationen überprüft und nichts gefunden. Ist dieser Prozess überhaupt möglich? Was mache ich falsch?

Vielen Dank im Voraus.

+0

Das AJAX Sie sich beziehen auf jQuery angewiesen ist, müssen Sie das in Ihrer Seite einzufügen, bevor Sie Ihren JavaScript-Funktion aufrufen. Öffnen Sie die Entwicklertools in Ihrem Browser (normalerweise F12) und behalten Sie die Konsolen- und Netzwerkregister im Auge, während Sie Ihren Code testen, um zu sehen, was passiert. – Rainner

+0

Was zeigt die Konsole? Irgendwelche Fehler? – chris85

+0

aaaaah der Konsole zeigt: Uncaught Reference: $ type nicht –

Antwort

1

ich diese Antwort bearbeitet, nachdem sie erkannt, dass dieser Teil einer Echo Aussage war. Dies sollte funktionieren:

echo '<input type="button" id="'.$entryID.'" name="change_title" value="change title" onclick="sendRequest('.$type.','.$entryID.'));" />';

Auch würde ich mit der JS-Funktion aufrufen Variablen erzeugt über PHP abraten. Es ist nicht elegant. Legen Sie Ihre Variablen als Daten- * Attribute und verwenden JS, um diese Attribute zu ziehen

+0

Das macht das PHP-Literal, https://3v4l.org/YmtCu. '' wird nicht der Wert sein, es ist in Anführungszeichen gesetzt. – chris85

+0

Scriptles arbeiten unabhängig vom Kontext –

+0

@ chris85 Sie haben Recht. Netter Fang –

Verwandte Themen