2016-06-23 6 views
0

Ich speichere mein Ajax-Ergebnis in einem div-Element. Dies funktioniert gut:Wie kann ich mein Ajax-Ergebnis in eine PHP-Variable ausgeben?

index.php:

<div id="result"></div> 

function submit($form) { 
    $.ajax('myajax.php', { 
     method: 'POST', 
     data: $form.serialize(), 
     success: function (result) { 
      $('#result').html(result); 
     } 
    }); 
} 

myajax.php:

echo "12345"; 

ich, wie etwas tun möchte:

function submit($form) { 
    $.ajax('myajax.php', { 
     method: 'POST', 
     data: $form.serialize(), 
     success: function (result) { 
      $result = result; 
     } 
    }); 
} 

Ist es möglich, das Ergebnis anstelle des div auf diese Weise in eine PHP-Variable ausgeben? Oder gibt es einen anderen Weg, dies zu erreichen?

+2

Das ergibt keinen Sinn. PHP schickt dir * den Wert (aus 'myajax.php'). Warum müssen Sie dem serverseitigen Code den Wert mitteilen, der * Ihnen gerade mitgeteilt wurde *? Was versuchst du eigentlich hier zu erreichen? – David

+0

Es hängt davon ab, was Sie mit dieser PHP Variable $ result machen werden. Was brauchst du danach? –

+0

Mit dieser Frage ist eigentlich nichts falsch. Es ist eine ziemlich standardmäßige Ajax-Verwendungsfrage, keine "Wie nehme ich den langen Weg, um eine PHP-Variable zu setzen" -Frage. –

Antwort

1

Ja, es ist vollständig möglich, mit der Technik, die Sie vorgestellt haben. Tatsächlich besteht der grundlegende Zweck von Ajax darin, einige Informationen zu sammeln, die auf dem Client erfasst werden können, und diese asynchron an den Backend-Server (in diesem Fall PHP) zu senden, ohne dass die Clientseite ersetzt werden muss.

Warum möchten Sie das tun? Hier sind einige häufig verwendete Beispiele:

  • bekommen Form Eingabe vom Benutzer
  • Hochladen der Datei Daten asynchron
  • Chat (obwohl es bessere Möglichkeiten heutzutage)
  • kollaborative Präsentation und Design (auch bessere Möglichkeiten verfügbar)

Einige weniger als gängige Beispiele:

  • Verwenden Sie die Client-Ressourcen (CPU, Speicher), um verteilte Berechnungen durchzuführen (denken Sie an: SETI @ home, aber über den Browser)
  • Client Health/Online-Prüfungen, die ein eindeutiges Token, wie eine CSRF, zurück an den Server senden auf einem Timer
  • den Browser als leichte, speziell gebaute web/API Schaber/Parser verwenden

Ohne genaue Angaben über die Daten, die Sie versuchen, zu senden, wird es nicht möglich sein, zu geben, ein besseres Beispiel als das, was Sie bereits bereitgestellt haben. Beachten Sie, dass Sie die Daten nicht in einem <div> speichern können, wenn Sie beabsichtigen, ein Formular zu serialisieren (für die Daten zu übertragen); Sie müssen entweder a) ein ausgeblendetes Formularfeld verwenden oder b) die Elemente, die Sie senden möchten, manuell serialisieren.

Ihre Frage zeigt, dass Sie auf dem richtigen Weg sicherlich denken, und ich würde gerne mehr darüber wissen, was Sie tatsächlich gibt eine gründlichere Antwort zu erreichen versuchen.

+0

Vielen Dank für Ihre Erklärung. In myajax.php erzeuge ich einfach eine Nummer, die ich mehrfach in index.php verwenden möchte – Jarla

Verwandte Themen