Frage

Ich verwende PHP, um ein Formular auszufüllen. Jetzt kommt es so vor, dass die Form Ajax für viele seiner Felder verwendet.

z.B

Wählen Sie [Country] (AJAX wird den Dropdown-Unternehmen für dieses Land mit Staaten angezeigt)

Wählen Sie [Zustände] (AJAX zeigt die Dropdown-Art mit Städten an)

Wählen Sie [City] (AJAX aktiviert eine Senden -Schaltfläche)

Wenn es sich um eine einfache HTML -basierte Form handelt, kann es leicht mit einer Locken gefüllt werden. Aber was ist, wenn das Formular AJAX verwendet, um die Dropdown-Felder zu füllen?

Vielen Dank

War es hilfreich?

Lösung

Wenn Sie das Formular mit Curl "bevölkern", veröffentlichen Sie tatsächlich die Daten, die in das Formular eingegeben/eingegeben wurden.

Es ist nicht erforderlich, dass die AJAX -Anfragen gestellt werden müssen, solange Sie wissen, welche Daten Sie verwenden müssen.


Die Lösung wäre also:

  • Beginnen Sie mit den Datenlisten (Verwenden Sie beispielsweise das Formular in einem Browser)
  • Wissen, wie diese Daten verwendet werden müssen (Durch die Beobachtung der "normalen" Art und Weise funktioniert das Formular)
  • Veröffentlichen Sie die richtigen Werte mit Ihrer Curl -Anfrage.


Schlussendlich, Ihre Curl -Anfrage sollte gleich sein als die vom Browser, die beim Einreichen des Formulars erstellt wurde - unabhängig von den Ajax-Anfragen, die zuvor gesendet werden (Diese sind nur nützlich, um Daten zu erhalten)


Nun, es sei denn, die AJAX -Anfragen schreiben tatsächlich etwas auf dem Server - aber das ist für diese Art von Situation ziemlich selten.

Andere Tipps

Wenn es sich um eine einfache HTML -basierte Form handelt, kann es leicht mit einer Locken gefüllt werden

Ich bin mir nicht klar, was Sie hier meinen. Soweit ich weiß, ist Curl ein Werkzeug, um HTTP -Anfragen zu stellen. Es kann nicht "Formulare füllen" (im Gegensatz zu z. B. www :: mechanize). Stecke ich darüber nach?

Ich denke, Sie meinen: "Wenn es sich um ein einfaches HTML -basiertes Formular handelt, kann ich eine HTTP -Anforderung mit Curl problemlos konstruieren, die dieselbe Abfragebringung oder Postdaten wie die Verwendung eines Browsers unterbreitet." Ich werde diese Annahme fortsetzen.

Die Verwendung von AJAX (in an sich) hält Sie nicht auf, Sie manuell zu konstruieren und sie als normal zu übermitteln. Es macht es nur etwas schwieriger, herauszufinden, welche Daten Sie einreichen müssen.

Das Remote -System kann so implementiert werden, dass es umdreht, wenn Sie nicht alle Datenbits in der richtigen Reihenfolge anfordern ein Land). Der Schwerpunkt auf "Macht" wäre keine vernünftige Art, das System zu implementieren.

Möglicherweise möchten Sie sowieso auch mehrere Anfragen mit Curl stellen, damit Sie die Liste der Städte (und alle IDs, die ihnen möglicherweise zugeordnet sind) abrufen und programmatisch auf sie zugreifen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top