再設計しなければならない Coldfusion サイトに苦労しています。
私の Jquery Mobile / Coldfusion8 サイトでは、ユーザーはいくつかの異なるページからログインできるはずです (それぞれに独自のログイン フォームがあります - これを変更することはできません!)。
ユーザーが最初に index.cfm ページに入ったとき、私はこれを実行しています:
<!--- SESSION handler --->
<cfif Session.loggedIn EQ "No">
<CFPARAM NAME="Attributes.Datasource">
<CFPARAM NAME="Attributes.AdditionalText" DEFAULT="">
...
<CFSET aform = "#CGI.SCRIPT_NAME#">
</cfif>
これはログイン ルーチンの一部であり、すべてのパラメータと変数を設定します。エラーは発生していないので、すべて問題ないはずです。このページには、次の 1 つの項目を含むリストが含まれています。
<li>#Attributes.AdditonalText"</li>
およびログインフォーム:
<CFFORM ACTION="#aform#" NAME="LoginForm">
また、セッションが定義されていない場合は、index.cfm にリダイレクトしているため、すべてのユーザーがこのページに行き着き、セッションを取得します。
問題
ユーザーが index.cfm から次のページに移動すると、Jquery Mobile はこのページを DOM(!) に追加します。しかし、index.cfm で有効だった同じパラメーター/変数がエラーを生成するようになりました (両方とも未定義)。
私はこれを理解していません。Coldfusion のパラメーター/変数は DOM スケールでアクセス可能ではないので、Ajax を介して動的に追加していて、これらのパラメーター/変数への参照を含むものはすべて機能しますか?
私はここで何をすべきか迷っています。コールドフュージョン初心者も。
index.cfm にこのテキストがある場合
これは #attributes.additionalText# です
動作しますが、DOM に追加される 2 番目のファイルに同じスニペットがある場合、まったく同じスニペットが #attributes.additioanlText# を未定義として返します...
質問:
動的に DOM に追加したコンテンツで変数や属性にアクセスできない、または未定義になるのはなぜですか? グローバルスコープでそれらを利用できるようにするにはどうすればよいですか?
手がかりをありがとう!