如何将post 一组电子邮件作为cfhttpparam?

How to post an array of emails as cfhttpparam?

所以我正在尝试 post 将 Coldfusion 与一系列电子邮件一起使用 API。

要快速浏览 API 架构,

{
 "emails":["foo@bar.com", "bar@foo.com"],
 "orgId":1,
 "subject":"foobar",
 "body":"foobar",
 "sender":"foobar@com"
}

现在这是我的 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="hmm@yahoo.com">
    </cfhttp>
</cffunction>

emails 是我卡住的地方..我不确定如何解决这个问题..

谢谢大家!

好的,

我是这样回答这个问题的。由于我在 MVC 框架上工作,在我有表单的视图中,我为控制器中的函数创建了一个 JQuery post 函数。

我有一个 html 输入,用户可以在其中输入任意数量的以逗号分隔的电子邮件。我有一个 javascript 函数,它获取输入的值并将它们拆分为 'comma',然后将它们添加到数组对象中。

由于 API 的结构如下:

{
 "emails":["foo@bar.com", "bar@foo.com"],
 "orgId":1,
 "subject":"foobar",
 "body":"foobar",
 "sender":"foobar@com"
}

在我的 $.post() 函数中,我有一个对象用作数据:

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

现在在我的控制器中,这是我处理电子邮件数组的方式

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

记下 FORM['EMAILS[]'],因为这允许我从表单范围访问值。

Link 到表格数组 Working with Form Arrays in ColdFusion?