2009-04-23 5 views
1

Je joue avec l'API très simple d'un nouveau service et je suis juste curieux de savoir s'il est possible d'envoyer une requête xml-rpc directement à partir d'un formulaire html. L'exemple de demande de api est la suivante:Une requête XML-RPC peut-elle être faite à partir d'un formulaire html?

<?xml version="1.0"?> 
<methodCall> 
<methodName>send</methodName> 
    <params> 
     <param><value><string>YOUR_API_KEY</string></value></param> 
     <param><value><string>[email protected]</string></value></param> 
     <param><value><string>5551231234</string></value></param> 
     <param><value><string>Test Message from PENNY SMS</string></value></param> 
    </params> 
</methodCall> 

Et ma forme itération est ce courant:

<form method="POST" enctype="text/xml" action="http://api.pennysms.com/xmlrpc"> 

      <input type="hidden" name="api_key" value="MYAPIKEY"/> 

      <label for="from">From</label> 
      <input type="input" name="from" value=""/> 

      <label for="phone">Phone</label> 
      <input type="input" name="phone" value=""/> 

      <label for="text">Text message</label> 
      <input type="input" name="text" value=""> 

      <input type="submit" value="Send"/> 

    </form> 

Répondre

3

Non sans impliquer ni code Javascript ou serveur. L'attribut "type-enc" spécifie le format dans lequel les données du formulaire sont envoyées au serveur, et malheureusement "xml-rpc" ne figure pas dans la liste des formats acceptés :)

+0

Donc, je suppose aussi que puisque ce serait inter-domaine, l'utilisation de XHR ne fonctionnera pas. Retour au côté serveur! – Geuis

+0

Vous voulez dire l'attribut "enctype", n'est-ce pas? –

+0

@Patrick: Oups, vous avez raison. –

2

Non, cela n'est pas possible HTML brut. Les seuls standard encodings pour soumettre des données de formulaire sont application/x-www-form-urlencoded et multipart/form-data.

Vous pouvez le faire à partir de JavaScript en utilisant XMLHTTPRequest, mais seulement pour les API sur le même domaine que le HTML. Après une recherche rapide sur Google, j'ai trouvé this AJAX XML-RPC client, même si je ne l'ai jamais utilisé, donc je ne peux pas me porter garant.