coldfusion - ColdFusion 10 中的 PUT 请求问题

标签 coldfusion coldfusion-10 cfhttp

在使用 API 时,我需要创建一个 PUT对 URL 的请求以及一些参数需要作为 POST 参数传递。

我在本地创建了2个文件calling.cfm和caller.cfm来使用PUT测试cfhttp要求。 但每次都会抛出错误 The request has exceeded the allowable time limit Tag: cfhttp

来电者.cfm

<cfhttp url="http://cflocal.com/jquerySliderApp/calling.cfm" method="put">
     <cfhttpparam type="header" name="Content-Type" value="application/x-www-form- urlencoded; charset=UTF-8" />
     <cfhttpparam type="body" value="Deepak" >  
</cfhttp>   
<cfdump var="#cfhttp#">

调用.cfm

<cfloop collection="#FORM#" item="i">
   <cfoutput>FORM SCOPE:#form[i]#</cfoutput>
</cfloop>

<cfloop collection="#URL#" item="i">
  <cfoutput>URL SCOPE:#URL[i]#</cfoutput>
</cfloop>

我用 type="body" 传递参数如Adobe Forum ,有人提到ColdFusion使用PUT和DELETE请求发送请求体,因此我们可以将请求体格式化为表单字段(或一系列表单字段)。

我尝试过<cfhttpparam type="body" name="fname" value="#urlEncodedFormat("Deepak")#" > 。仍然显示相同的错误。

我正在使用 ColdFusion 10。如果我做错了什么,请告诉我。

最佳答案

<cfhttpparam>当 type="body"时,不会对 name 属性执行任何操作。如果您自己设置正文,则应该发送如下内容作为正文:

fname=Deepak&otherparam=foo

正如常见的情况一样,Ben Nadel has your back here 。 CF 不会为您处理 PUT 或 DELETE 请求的 FORM 范围,因此您需要处理 getHttpRequestData().content您自己才能获取发送的值,但您可以使用方法 in this blog post来实现这一目标。

关于coldfusion - ColdFusion 10 中的 PUT 请求问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22243896/

相关文章:

objective-c - 解析 Coldfusion 9 在 Cocoa Obj-C 中生成的 JSON 响应

coldfusion - 实例化 COM 对象时出现异常

coldfusion - REST Web 服务 404 未找到 - ColdFusion 11

coldfusion - Nexmo API 和 CFHttp POST

coldfusion - 如何通过 cfhttp 模拟真实的 http 请求?

coldfusion - 使用 Coldfusion cfswitch 标签失败?

solr - Coldfusion Solr 搜索 - 相当于 SQL 中的 LIKE %string%

java - 使用 Coldfusion 以编程方式访问 Google Voice Java API

authentication - ColdFusion 10 Active Directory 身份验证

ssl - Coldfusion:使用 SSL 加密页面 (https://) 的 CFHTTP - 出现错误