問題タブ [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.

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

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」が返されないのはなぜですか?

0 投票する
0 に答える
40 参照

coldfusion - param 構造体のオプションではないセミコロン

私は現在、多くの CF 11 コードを CF 2018 に更新しています。私が気に入っていることの 1 つは、ほとんどの場合、セミコロンがオプションであることです。そうは言っても、私はこの背後にある考え方に苦労しています:

エラー

"." を使用した変数参照は使用できません。このコンテキストの演算子 CFML コンパイラは以下を処理していました。

3 行目の 1 列目に param で始まるスクリプト ステートメント。1 行目の 2 列目に始まる cfscript タグ。

エラーではありません

理由がわかりません。