2012-05-18 3 views
5

OK, nicht wirklich sicher zu machen, wenn dies möglich ist, aber dachte, dass ich sowieso fragen würde :)verwendet JavaScript bestätigt Dialog einen PHP-Aufruf im Hintergrund

Ich habe eine HTML-Seite, die einige Informationen und einen Link enthält. Der Link ruft ein JavaScript-Bestätigungsdialogfeld auf. Wenn der Benutzer OK auswählt, möchte ich eine Funktion in einer PHP-Datei aufrufen, aber im Hintergrund, d. H. Ich möchte die Seite nicht ändern, neu laden oder irgendetwas anderes.

Ist das möglich?

Dank

T

Antwort

6

Verwendung AJAX. Im Folgenden verwendet jQuery:

if(confirm('Are you sure?')) { 
    $.ajax({ 
     url: '/path/to/file.php', 
     data: 'url=encoded&query=string', // Can also be an object 
     success: function(output) { 
      // This function is called after the PHP file completes. 
      // The variable passed in is a string containing all output of 
      // your PHP script (i.e. echo/print) 
     } 
    }); 
} 

Weitere Informationen besuchen Sie jQuery-Dokumentation für AJAX. Wenn Sie jQuery nicht verwenden können, gibt es viele tutorials für die Verwendung von nativem JavaScript, um AJAX-Anfragen zu erstellen.

Wenn Sie eine große Datenmenge zurück an Ihre Erfolgsfunktion von PHP senden, wäre es für Sie sinnvoll, die Daten von PHP als JSON encoded array zurückzugeben, was sicher in ein JavaScript-Objekt clientseitig sein kann.

3
$('.LinkClass').click(function(){ 

    if(confirm('Is it OK?')) { 

    $.ajax({ 
     url: 'action.php', 
     type: 'POST', 
     data: 'data=value', // Can also be an object 
     success: function(data) { 
      // Do Nothing 
     }, 
     error: function(){ 
      alert('Error'); 
     } 
    }); 

    } 

}); 
Verwandte Themen