Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ColdFusion 10中的PUT请求问题_Coldfusion_Coldfusion 10_Cfhttp - Fatal编程技术网

ColdFusion 10中的PUT请求问题

ColdFusion 10中的PUT请求问题,coldfusion,coldfusion-10,cfhttp,Coldfusion,Coldfusion 10,Cfhttp,在使用API时,我需要向URL发出PUT请求,同时需要将一些参数作为POST参数传递 在本地,我创建了两个文件calling.cfm和caller.cfm,用PUTrequest测试cfhttp。 但每次抛出错误时,请求都超过了允许的时间限制标记:cfhttp caller.cfm <cfhttp url="http://cflocal.com/jquerySliderApp/calling.cfm" method="put"> <cfhttpparam type="

在使用API时,我需要向URL发出
PUT
请求,同时需要将一些参数作为POST参数传递

在本地,我创建了两个文件calling.cfm和caller.cfm,用
PUT
request测试cfhttp。 但每次抛出错误
时,请求都超过了允许的时间限制标记:cfhttp

caller.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>

表格范围:#表格[i]#
URL范围:#URL[i]#
我使用
type=“body”
传递参数,正如在中提到的,ColdFusion使用PUT和DELETE请求发送请求正文,因此我们可以将请求正文格式化为表单字段(或一系列表单字段)

我试过使用
。仍然显示相同的错误

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

在type=“body”时不使用name属性。如果您自己设置主体,则应发送以下内容作为主体:

fname=Deepak&otherparam=foo
正如经常发生的情况一样。CF不会在PUT或DELETE请求中为您处理表单作用域,因此您需要自己处理
getHttpRequestData().content
以获取发送的值,但您可能可以使用该方法来实现这一点。

在type=“body”时不处理name属性。如果您自己设置主体,则应发送以下内容作为主体:

fname=Deepak&otherparam=foo

正如经常发生的情况一样。CF不会在PUT或DELETE请求中为您处理表单作用域,因此您需要自己处理
getHttpRequestData()。content
以获取发送的值,但是您可能可以使用该方法来实现这一点。

我如何通过
put
request向API传递参数,请求formfield或form scope中的参数。此外,为什么我会收到请求超时错误,而
post And get
request一切正常。您是说您自己的API?你有两个选择。首先,尝试解析包含链接的主体,然后更新表单范围。其次,API不应该直接引用表单范围。这是控制器代码处理请求的工作。您真正的业务逻辑应该只期望一个结构,而不关心它是否来自。在我看来,您应该使用选项2。如果您想查看线程挂起的是什么,请使用此处的说明:-发布堆栈转储,我们可能会进一步帮助您我没有使用自己的API,我需要向YesMail API发出请求。我如何通过
put
request向API传递参数,请求formfield或form scope中的参数。此外,为什么我收到请求超时错误,而
post And get
request一切正常。你是说你自己的API?你有两个选择。首先,尝试解析包含链接的主体,然后更新表单范围。其次,API不应该直接引用表单范围。这是控制器代码处理请求的工作。您真正的业务逻辑应该只期望一个结构,而不关心它是否来自。在我看来,您应该使用选项2。如果您想查看线程挂起的是什么,请使用此处的说明:-发布堆栈转储,我们可能会进一步帮助您我没有使用自己的API,我需要向YesMail APIany发出请求。请建议我的cfhttp调用有什么错误,它挂起了我的coldfusion服务器。请建议我的cfhttp调用有什么错误,它挂起了我的coldfusion服务器