問題タブ [coldfusion-2018]
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.
json - "//" プレフィックス付きの JSON が返され、一貫性のない結果が返される
ajax経由で呼び出されるcfc関数があります。マーチャント コード (単一のコードまたはカンマ区切りのコードのリスト) を受け取り、いくつかのチェックと I/O を実行してから、フラグを返します。
注: セキュリティ上の理由から、CFAdmin 設定の「プレフィックス JSON with '//'」を有効にしましたが、これが問題の原因のようです。
フロン機能:
この関数から返される可能性のある値は、文字列 ("qweqweqwe" など) または "1" の 2 つだけです。
無効な文字列が検出されると、ループ内で文字列が返されますmerchant_code
。プロセス全体が成功したことを示すために、ループの後に「1」が返されます。
AJAX:
以下のコードには、私が試した 2 つの異なる ajax 呼び出しオプションが含まれており、コード コメントに記載されているように、それぞれが異なる結果を生成します。
注: 無効なコードのみが "//" プレフィックスで返されます。「1」が返される場合、これは前に付けられません。
CFAdmin 設定の「プレフィックス JSON に '//' を付ける」を無効にすると、すべての問題がなくなります。上記のajaxオプション1を使用したいと思いますが、有効なデータに対して返されたフラグ「1」の処理に明らかに失敗した理由を知る必要があります。
編集
問題は、単純に、オプション 1 の dataFilter 属性が「//」で始まる戻り値を処理していないことにある可能性があります。それでは、「qweqweqw」にはプレフィックスがあるのに、「//」プレフィックスで「1」が返されないのはなぜですか?
coldfusion - param 構造体のオプションではないセミコロン
私は現在、多くの CF 11 コードを CF 2018 に更新しています。私が気に入っていることの 1 つは、ほとんどの場合、セミコロンがオプションであることです。そうは言っても、私はこの背後にある考え方に苦労しています:
エラー
"." を使用した変数参照は使用できません。このコンテキストの演算子 CFML コンパイラは以下を処理していました。
3 行目の 1 列目に param で始まるスクリプト ステートメント。1 行目の 2 列目に始まる cfscript タグ。
エラーではありません
理由がわかりません。