1

ログイン用の ColdFusion ページがあります。ログイン ボタンのクリックは、JQuery 関数によって処理されています。認証自体は偽物であり、関数自体の内部で行われています。それが成功したら、別の ColdFusion ページからコンテンツを最初のページに読み込みます。JQuery から ColdFusion セッションで変数を設定することはできますか?

4

2 に答える 2

6

質問の最も厳密な意味では、いいえ、jQuery / javaScriptはColdFusion変数に直接アクセスできません、KevinBは正しいです。ただし、AJAX(jQueryではなくJavaScriptですが、jQueryには簡単にするためのメソッドがいくつかあります)を使用して、ブラウザーで完全なラウンドトリップを行うことなくデータをColdFusionに送信できます。そうすることで、ColdFusionは、選択した方法に応じて、スコープにURL変数を作成します。FORM残念ながら、FORM変数URLはリクエストの期間中のみ存在するため、ColdFusionを使用して、送信したばかりのまたは変数をSESSION使用して設定する必要のある変数を設定します。URLFORM

jQueryにはこれを行うためのいくつかのメソッドがあります。

この非常に単純な例は、次のjQueryのようになります。

<script>
   var myName = "Travis";
   $.get('setVariable.cfm?someVar='+myName, // Send a value to the server in the URL.
      function(data){ // tell the user what the server said (optional).
         alert(data);  //data is whatever was returned by the server.
      }
   );   
</script>

setVariable.cfmのCFコードは次のようになります

<cftry>
    <cfset session.userName = url.someVar>
    Session user was set.
    <cfcatch>
        <cfoutput>
            Oh, Crap! Something bad happened! (#cfcatch.message#)
        </cfoutput>
    </cfcatch>
</cftry>
于 2013-01-25T00:45:15.840 に答える
4

いいえ、クライアント側でアクセスできるのはセッション/クライアントトークンCookieだけです。ただし、カスタムCookieの値を設定してから、coldfusionでそのCookieにアクセスすることはできます。

于 2013-01-24T21:41:18.910 に答える