問題タブ [cffunction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
182 参照

javascript - ColdFusion 9/10 は JSON から返されますか?

Ajax 呼び出しの後に返さなければならないデータがいくつかあります。私の.cfcページには、データを変換するロジックがあります。各列はタブ区切りで、各行は CRLR で区切られています。cffunctionreturnformat を に設定していますJSON。データを返した後、JavaScript を使用して目的の形式で列と行を分離します。これを行っている間、人々が ColdFusion 9 のあらゆる種類の問題について話しているブログをほとんど見ませんでしたJSON。私の開発サイトでは ColdFusion 10 を使用していますが、データに問題はありませんでした。しかし、ライブ サイトには ColdFusion 9 があり、それによって問題が発生するのではないかと考えていました。私のデータには Address のようなフィールドがあり、このフィールドではあらゆる種類の文字を使用できます。たとえば、データが次のような場合、coldfusion 9 の戻り型 JSON には問題があります。2131231D文字列と整数の組み合わせがDJSON で終わる場合、同じデータは返されません。だから私の質問は、この状況で何をすべきですか?この問題の修正はありますか? JSON は信頼でき、ColdFusion 9 で使用することをお勧めしますか? 回避できるように.cfcページのデータを変換するツールも探していましたcffunction returnformat='JSON'。これが私のコードです:

ここに私のJavaScriptがあります:

0 投票する
1 に答える
85 参照

scope - 関数の外で生き残るコールドフュージョン引数の奇妙な動作?

私は 15 年以上 ColdFusion をプログラミングしてきましたが、これに遭遇したことはありません。動作を再現するコードは次のとおりです。

ご覧のとおり、これは私がしていることです:

  1. 変数スコープで配列を初期化して、グローバルにアクセスできるようにする
  2. ローカル スコープで構造体 (local.data) を開始する
  3. データを _append 関数に呼び出して、最初のフィールド項目 (名前) を追加する
  4. 同じ方法で 2 番目のフィールド項目 (phone) を追加します

このコードは、次の出力になります。

出力のダンプ

ご覧のとおり、最初のインデックスに field="name" が含まれている必要があると予想される場合、コードは重複するエントリを含む配列になります。また、2 回目に _append に呼び出される data の値には、値「name」を持つプロパティ「field」が含まれています。関数を初めて呼び出したときから、引数のスコープに残っているように見えますか? これはどのように可能ですか。引数のスコープが cffunction タグ内に分離されていると思いましたか?

しかし、_append 関数を次のように置き換えると:

次の出力が得られます。

出力 2 のダンプ

ご覧のとおり、「フィールド」を追加する前にarguments.dataの複製を作成すると、問題が解決します。ただやっていることに注意してください:

十分ではありませんでした。

誰かが引数スコープのこの動作を説明できますか?

0 投票する
2 に答える
2454 参照

jquery - AJAX を使用して ColdFusion コンポーネント ページからデータを取得し、別のドロップダウンに結果を入力する

以前にも同様の質問があり、回答があったことは知っていますが、コードに特定の問題があります。ドロップダウンが変更されたら、そのサイトからのヤードでid="SITE"ドロップダウンを埋めたいです。id="YARD"これが私のコンポーネント CFC コードです (AjaxFunctions.cfc というページにあります):

そして、呼び出しページの head セクションにある受信コードは次のとおりです。

コードをそのまま試してみると、まったく何も起こりません。これらの行だけをコメントアウトすると

次に、「サイトが変更されました」という通知が表示され、YARD ドロップダウンが空になりますが、「データを受信しました...」というアラートは、エラー ページの HTML コードのように見えます。後で YARD ドロップダウンを更新することを心配できると思いますが、今はクエリからデータを受け取ることだけが心配です。