2

Coldfusion8 を使用してサーバー側のことを理解するのに少し苦労しており、これまでのところクライアント側のことだけを行っています。

次のような基本的な Coldfusion ページ レイアウトがあるとします。

<script type="text/javascript">
   function foo() {  docoument.myForm.submit(); }
</script>

<cfif isdefined("sendMyForm")>
    ... running coldfusion...
    ... displaying something...
</cfelse>
   <form action="nextPage.html" method="post" name="myForm">
       <input type="text" name="formContains" />
       <input type="hidden" name="sendMyForm" value="yup" />
       <input type="button" name="sender" value="send" OnClick="foo() /> 
   </form>
</cfif>

質問:フォームを送信すると、サーバー側で
は実際に何が行われますか? ページが「再読み込み」され、cfifによって coldfusion が実行され、結果が表示されますか? 基本的な情報を探しているだけなので、何が起こっているのか理解できます。

ヒントをありがとう!

4

2 に答える 2

5
  1. CF とほとんどの Web サーバー/システムは、入力 (url/get、フォーム/投稿、Cookie など) を受け入れ、出力 (html、json、テキストなど) を返すものと考えてください。そのサイクルは通常繰り返されます。誰かがブラウザに Web アドレスを入力すると、リクエストがサーバーに送られ、ページがフォームとともに返されます。ユーザーが送信にヒットし、リクエストがサーバーに送られ、ページが結果とともに返されます。ユーザーがリンクをクリックすると、リクエストがサーバーに送られます...そして何度も。

  2. if ステートメントの編成方法により、フォーム アクションをそれ自体に送信する必要があります。form.cfm ファイルの場合、アクションは form.cfm である必要があります。CF が html ファイルを処理するように Web サーバーで特定のマッピングをセットアップしない限り、ファイルは .cfm である必要があります。

  3. action 属性をすべて一緒に除外すると、フォームが同じページに送信されますが、これがすべてのブラウザーで機能するとは思いません。

  4. form method="post" を使用する方がより一般的で安全です。structkeyexists(form, "fieldname")

于 2012-04-28T12:41:44.557 に答える