2009-04-23 64 views
1

我正在玩一个新服务的非常简单的API,我只是好奇,如果它可能直接从HTML表单发送一个XML-RPC请求。 API请求的例子是这样的:XML-RPC请求是否可以从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> 

而我目前的形式迭代是这样的:

<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> 

回答

3

不是没有涉及Javascript或服务器代码。 “enc-type”属性指定表单数据发送到服务器的格式,不幸的是,“xml-rpc”不在可接受的格式列表中:)

+0

所以我也猜测,因为这将是跨域,使用XHR是不会工作的。回到服务器端! – Geuis 2009-04-23 18:14:00

2

不,这是不可能的纯HTML。提交表格数据的唯一standard encodingsapplication/x-www-form-urlencodedmultipart/form-data

您可以使用XMLHTTPRequest从JavaScript执行此操作,但仅限与HTML所在域相同的API。在Google快速搜索之后,我发现了this AJAX XML-RPC client,尽管我从未使用它,所以我不能担保。