2017-08-04 20 views
1

は、私はこちらのフォームを借りていますいくつかのコードを持っている:https://www.sitepoint.com/get-shorty-coldfusion/CFLOOP timeotエラー問題

私が持っているすべてのCFCおよびサンプルコードの設定だけでなく、データベース。私がコードを実行しようとすると、私はURLのショートネームのcfloopエラーを取得します。誰かがなぜこれが走っていないかもしれないかについてのアイディアを私に与えることができるかどうか分かります。

The request has exceeded the allowable time limit Tag: CFLOOP. The error occurred in C:/ColdFusion2016/cfusion/wwwroot/URLS/add.cfm: line 5 

<!--- keep trying to insert until successful ---> 
    <cfloop condition="len(shortlink) EQ 0"> 
     <cfset shortlink = application.oContent.insertContent(link)> 
    </cfloop> 
    <cfset message = "Your short URL is <a href='http://#cgi.server_name#:#cgi.server_port#/URLS/?#shortlink#'>http://#cgi.server_name#:#cgi.server_port#/URLS/?#shortlink#</a>"> 
+0

書込みの最上位にあります:リクエストが許容時間制限Tag:CFLOOPを超えました。エラーはC:/ColdFusion2016/cfusion/wwwroot/URLS/add.cfm:line 5 –

+0

で発生し、リンクが作成されないと最終的にタイムアウトになります。 –

+0

これはなぜcfloopであり、cfifではないのですか?ループ中に 'link'の値が変わるのですか? – snackboy

答えて

1

この変更、トラブルシューティングするには、次のショートリンクの長さが0の場合は、無限ループを持っている

<cfset shortlink = application.oContent.insertContent(link)> 
<cfdump var = "shortlink is #shortlink# and len(shortlink) is #len(shortlink)#"> 

:これまで

<cfloop condition="len(shortlink) EQ 0"> 
<cfset shortlink = application.oContent.insertContent(link)> 
</cfloop> 

を。次に、ショートリンクが空の文字列である理由に焦点を当てるべきです。

コメントに記載されていることを繰り返すために、これはループにとって不適切な場所です。初めて失敗し、ループ内で何も変更しないと、常に失敗します。