2015-01-26 90 views
0

所以我想用一个电子邮件数组发送到使用Coldfusion的API。如何将一组电子邮件作为cfhttpparam发布?

为了快速在视图中的API架构,

{ 
"emails":["[email protected]", "[email protected]"], 
"orgId":1, 
"subject":"foobar", 
"body":"foobar", 
"sender":"[email protected]" 
} 

现在,这是我的ColdFusion脚本

<cffunction name="inviteusers" access="public" returntype="any"> 
    <cfset var data = "" /> 
    <cfhttp url="urlserver#UserInvite" method="post" username="#username#" password="#urlpass#" result="data"> 
     <cfhttpparam name="emails" this is array or emails> 
     <cfhttpparam name="orgID" type="formType" value="1"> 
     <cfhttpparam name="body" type="formType" value="this is the body"> 
     <cfhttpparam name="sender" type="formType" value="[email protected]"> 
    </cfhttp> 
</cffunction> 

电子邮件是我在哪里停留在..我不是当然如何解决这个问题..

谢谢你们!

+0

是API实际上预计接收JSON?如果是这样,上述将不起作用。否则,请尝试使用两个“标签,每个地址一个。结果是什么? – Leigh 2015-01-26 22:30:48

+0

Hi @Leigh,你能解释一下为什么如果API期望JSON,上述方法将不起作用吗?是的,API接收并返回JSON。如果我为每个地址都做了一个,那意味着我将不得不根据电子邮件地址的数量调用此API或执行foreach循环。 – jmesolomon 2015-01-27 00:17:16

+0

[JSON](http://json.org/)是一个字符串以特定的格式。上面的代码只是通过标准的帖子发送键/值对。它不会自动将数据转换为JSON。所以如果这就是接收端期望的,那么它可能不会起作用。你能提供一个链接到API文档吗?很有可能你需要创建一个CF结构,以及各种orgId,等等。然后使用'SerializeJSON',但是我们需要看到API来提供更具体的建议。 – Leigh 2015-01-27 04:03:57

回答

0

Allrighty,

这里是我如何回答这个问题。由于我正在使用MVC框架,所以在窗体的视图中,我为控制器中的函数创建了一个JQuery post函数。

我有一个html输入,用户可以输入任意数量的用逗号分隔的电子邮件。我有一个JavaScript函数,它接受输入的值,并将它们分割为'逗号',然后将它们添加到数组对象中。

由于API的结构为这样:

{ 
"emails":["[email protected]", "[email protected]"], 
"orgId":1, 
"subject":"foobar", 
"body":"foobar", 
"sender":"[email protected]" 
} 
$.post()功能

我有被用作数据的对象:

var myData = { 
       "emails" : myEmails, //This myEmails is an array['[email protected]', '[email protected]'] of emails from the single email input. 
       "orgId" : 1, 
       "subject" : $('#vgridSubject').val(), 
       "body" : $('#vgridText').val(), 
       "sender" : "[email protected]" 
      } 
现在

在我的控制器,这里是如何我处理电子邮件列表

<cfscript> 
    sendInvites = postUserInvite(emails = FORM['EMAILS[]'], orgID = FORM.orgID, subject = FORM.subject, body = FORM.body, sender = FORM.sender) 
</cfscript> 

请注意FORM['EMAILS[]']因为此让我从表单范围访问值。

链接形式阵列Working with Form Arrays in ColdFusion?

+0

不知道我跟随如何与cfhttpparam相关,但很高兴你找到了一些东西。 RE:*注意FORM ['EMAILS []'] * *代码中的哪个地方使用字段名称“emails []”? – Leigh 2015-01-27 22:00:45

相关问题