在使用 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/