2015-01-26 14 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

相關問題