2011-12-14 15 views
3

私はCodlfusion 9のStructDelete()メソッドを使用してクッキーから値を削除しています。Coldfusion StructDeleteは空白の値を作成します

:しかし

StructDelete(cookie,"selector12") 

を使用した後、私はを削除するにもかかわらず、cookie.selector12ため[空の文字列]の値を取得しています、それは

これは私が使用しているコードです。

<cfdump var="#cookie#"> 
<!--- kill any existing selector cookie when looking at a profile ---> 
<cfset structDelete(cookie,'selector#URL.clk#')> 
<cfdump var="selector#URL.clk#"> 
<cfdump var="#cookie#"> 

次のように出力します。

Screen shot of cookie cfdumps

実際にStructDeleteはブランク値を設定していますか?それとも私がCOOKIE構造に適用したときに、ブラウザに次のヘッダをプッシュ)は、StructDeleteの再

答えて

8

行動(...明らかと簡単な何かを見逃している:

Set-Cookie SELECTOR12=;expires=Wed, 14-Dec-2011 10:06:02 GMT;path=/ 

順番になる(のためにその要求の残りの部分)は、空の値を持つブラウザクッキーを生成します。これは、そのCOOKIE構造体でcfdumpを呼び出すときに見られる動作を模倣します。

これは、実際にはブラウザのCookieにアクセスするCOOKIE構造体の副作用に過ぎず、WebブラウザでのCookieの定義/管理方法によって制限されます。

+0

ありがとうホームズ。そこにあなたの名前に生きる。私はそれを回避しなければならないと思います。 –

+2

'structDelete'の代わりに、またはこれに加えて、' 'を使うのに役立ちますか? – ale

関連する問題