Comment publier XML au serveur thru formulaire HTML?
J'ai à publier les données de mon formulaire HTML sur le serveur en format xml, quelque chose comme:
<some_parameters>
<firstname>Homer</firstname>
<lastname>Simpson</lastname>
<street>74 Evergreen Tr.</street>
</some_parameters>
Tout ce que je sais c'est que ça va à une des applications de CRM s'exécuter sur différents domaine. Maintenant, je ne suis pas sûr de ce qui est la meilleure façon de le faire.
Je pensais juste envelopper les valeurs des champs dans mon formulaire lorsque l'utilisateur soumet le formulaire. Donc, si l'utilisateur a tapé "Homer" "prénom" et clique sur envoyer, mon JS allait changer la valeur du champ <firstname>Homer</firstname>
et puis de publier les données.
Si ça aide, je suis à l'aide de jQuery sur le côté client. Je pense qu'il doit être la meilleure façon que ma solution serait de rompre avec JS désactivé et il semble un peu louche donc si vous pouviez me pointer dans la bonne direction, ce qui serait génial.
OriginalL'auteur spirytus | 2010-01-18
Vous devez vous connecter pour publier un commentaire.
La meilleure façon que je peux penser est d'intercepter le formulaire de soumettre à l'action, et de convertir de la forme de détails au format XML, puis de le soumettre au serveur. Il y a beaucoup de façons de le faire, mais le plus simple serait de mettre en place une solution via un framework comme jQuery:
Un exemple de cette chose peut être trouvé en ligne à http://www.docunext.com/...data-to-xml-with-jquery qui utilise le JSON XML Plugin:
J'ai corrigé les liens (en redirigeant vers les archives sur wayback). Il est probable que certains des téléchargements et d'autres ressources peuvent ne pas fonctionner. Laissez-moi savoir si vous en rencontrez d'autres problèmes.
OriginalL'auteur Sampson
Affichage de XML sans javascript ou plug-ins de navigateur est impossible. Les deux formats d'affichage des formulaires html sont
application/x-www-form-urlencoded
etmultipart/form-data
.OriginalL'auteur Darin Dimitrov
Je viens de recevoir cela fonctionne dans chrome, la clé est d'avoir de l'espace vide dans la zone de texte nom:
OriginalL'auteur user2700463
Vous pouvez envoyer un XML à l'aide de XFORMS. Voir par exemple: http://www.mozilla.org/projects/xforms/
Obsolète depuis Gecko 19 (Firefox 19 / Thunderbird 19 / SeaMonkey 2.16)
OriginalL'auteur Pierre
Si les serveurs de code côté est une option, vous pouvez utiliser un custom php CURL script comme un intermédiaire pour transmettre votre demande à la troisième partie dans un format xml. Je ne suis pas sûr si CURL est livré en standard avec une installation de php,
et si ce n'est pas une option, vous pourriez probablement utiliser fsocketopen à la place (bien que personnellement je pense que la tactique est plus difficile). Mais le ROULAGE est assez facile à installer et extrêmement utile pour essentiellement permettant de php pour envoyer des requêtes comme si c'est un navigateur. La différence que vous pouvez être intéressé par ici, c'est qu'il n'effectivement vous permettre de définir l'en-tête "Content-type: text/xml'.
Afin d'avoir votre formulaire html d'envoyer régulièrement des GET ou POST valeurs de votre script php. Alors que les personnels script php de les convertir dans le format XML, la 3ème partie est attend. (N'oubliez pas de la faire précéder de la
<?xml version="1.0" encoding="ISO-8859-1"?>
tag, avec tout ce que les valeurs d'attribut sont appropriés pour vous.) Et ensuite l'envoyer par l'intermédiaire de ce code:OriginalL'auteur Claymore