Question

J'utilise php pour remplir un formulaire. Maintenant, il se trouve que la forme utilise ajax pour plusieurs de ses champs.

par exemple.

sélectionnez [pays]   (Ajax affichera déroulante rempli d'états pour ce pays)

sélectionnez [états]   (Ajax affichera déroulante remplie de villes)

sélectionnez [ville]   (Ajax permettra un bouton d'envoi)

S'il est une forme à base de HTML simple, il peut être facilement rempli de cURL. Mais si le formulaire utilise ajax pour remplir les champs déroulants.

Merci

Était-ce utile?

La solution

Lorsque vous « peuplez » forme avec boucle, vous envoyez des messages réellement les données qui auraient été tapé / entré dans le formulaire.

Il n'y a pas besoin pour les requêtes Ajax à effectuer, aussi longtemps que vous savez ce que les données que vous devez utiliser.


Donc, la solution serait:

  • Commencez par obtenir les listes de données (en utilisant le formulaire dans un navigateur, par exemple)
  • Savoir comment ces données doivent être utilisées (en observant la façon « normale » la forme de travaux)
  • POSTer les valeurs correctes, votre demande curl.


En fin de compte, votre demande boucle devrait être la même que celle faite par le navigateur lorsque le formulaire est soumis - indépendamment des requêtes Ajax qui sont envoyés avant (ce sont seulement utiles pour l'obtention de données)


Eh bien, c'est à moins que les requêtes Ajax sont en fait « writting » quelque chose sur le serveur - mais c'est assez rare pour ce genre de situation

.

Autres conseils

  

Si c'est un simple formulaire HTML, il peut être facilement rempli cURL

Je ne comprends pas ce que vous entendez ici. Pour autant que je sache, cURL est un outil pour faire des requêtes HTTP. Il ne peut « remplir les formulaires » (contrairement, par exemple, WWW :: Mechanize). Ai-je tort à ce sujet?

Je pense que vous voulez dire: « Si c'est une forme à base de HTML simple, je peux facilement construire une requête HTTP en utilisant cURL qui présente la même chaîne de requête ou des données POST en utilisant un navigateur serait. » Je vais poursuivre sur cette hypothèse.

L'utilisation d'Ajax (en soi) ne vous arrête pas la construction d'une des données de formulaire manuellement et en le soumettant normalement. Il est tout simplement un peu plus difficile de travailler sur les données que vous devez soumettre.

Le système distant peut être mis en œuvre de telle sorte qu'il tombe si vous ne demandez pas tous les bits de données dans la séquence (par exemple, il sera barf si vous soumettez les données complètes à la fin sans demander la liste des villes pour un pays). L'accent sur « pourrait », ce ne serait pas une façon saine de mettre en œuvre le système.

Vous pouvez également faire plusieurs requêtes avec cURL de toute façon pour que vous puissiez récupérer la liste des villes (et des ids qui pourraient y être associés) et les accès programatically.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top