JSONP表单提交方式如何?

时间:2016-03-17 15:12:34

标签: json forms coldfusion jsonp form-submit

在我的CFM文件中,我有一个表单,我需要将其作为JSON发送。这是我第一次尝试将表单作为JSON数据发送。我查看了W3C HTML JSON form submission中的示例,但我没有看到如何指定json URL的示例。我看到表单的enctype属性必须设置为application / json,但这就是它。我需要知道在哪里指定jsonp URL,authkey以及提交到正确位置所需的其他参数。由于我正在使用ColdFusion,我不确定是否应继续使用ColdFusion标记进行JSON提交或Javascript和/或JQuery。任何建议都非常感谢。顺便说一下,authkey需要是私有的,因为这是一个帖子。以下是我到目前为止的表格。 enter image description here

远程API服务接受如下数据。因此,我需要在表单中指定一些方法来指定这些标准。

stdClass Object
(
    [valid] => 1
    [data] => stdClass Object
        (
            [id] => 54f126ed7cb82991627b23f0
            [type] => comment
            [project_id] => 54b88f0ffe775aac57000001
            [article_id] => 54b88f12bfe5a1601400001c
            [author_id] => 52d9a8dbfe775ad80d000001
            [content] => I'm a comment!
            [public_name] => 
            [public_email] => 
            [user_submitted] => 1
            [date_created] => 02/27/2015 9:24 pm EST
        )
)

好的,看起来我必须在向自己提交表单之前构建JSON string并执行CFHTTP标记来发送JSON数据。以下是我到目前为止:

<cfset jsonString ={
                    data = {
                        article_id = "#artID#",
                        type = "comment",
                        project_id = "55c4ffd123131c527e294fe6",
                        content = "#form.message#",
                        public_name = "#form.name#",
                        public_email = "#form.mailfrom#"
                    }
                }>
<cfhttp url="https://app.kb.com/api/head/comment.json" method="post" timeout="15" throwonerror="true" >
                    <cfhttpparam type="body" name="body"value="#serializeJSON(jsonString)#" />     
</cfhttp>

然而,它不起作用。我还不完全清楚CFHTTPPARAM应该是什么,因为现在我手动将所有参数构建为字符串,而不是在CFHTTP标记内单独提交它们。非常感谢任何帮助。

0 个答案:

没有答案