0

さて、私は本当に奇妙な問題を抱えています。これが起こることです:

これが環境です。いくつかの「ステップ」を保持できるモーダル パネルがあります。最初にファイルをアップロードする必要があります。次に、ファイルが処理され、この処理結果から、いくつかの html を生成して次のステップ。

これが私がしていることです: jquery の $.ajaxForm を使用して、モーダル パネルのフォーム内にファイルをアップロードしています。それを処理するphpファイルに送信します。処理が完了すると、必要なすべてのオブジェクトに情報が入力されます。これらのオブジェクトは、含めるテンプレートで使用され、その内容がテキスト変数に入力され、モーダル パネルの 2 番目のフォームに追加されるように json_encode されます。

これまでのところ...とても良いです...「URLから」を選択してファイル入力を無効にすると、すべてが正常に機能することがわかりましたが、ファイル入力アップロードを有効にすると、インクルードから取得した結果htmlテンプレートから壊れています(ええ...あなたはWTFと言っているに違いありませんが、本当です0_0エラーが隠れている場所を特定するまですべてを試しました...)。HTML結果の先頭に「PRE」HTMLタグが追加され、すべてのタグが大文字にキャストされ、すべての終了タグの「<」と「>」が対応するエンティティに置き換えられます(& lt;など) . フォームのコールバックで未加工の HTML 結果を「警告」することによって (そして明らかに結果フォームに引き起こされた損傷によって) それを確認しました。何が起こっているのかについてのアイデアはありますか??

前もって感謝します!!!

PS:私は冗長になりました...:P

4

2 に答える 2

1

問題があるのはそこにあるように聞こえるので、使用しているフレームワーク/テンプレートエンジンについて詳細を説明する必要があります。フォームのファイル入力バージョンに関する何かがそれを狂わせているようです-おそらくenctype="multipart/form-data"ファイルのアップロードに使用する必要があります。enctype非ファイルダイアログに属性を追加し、それが異常になるかどうかを確認することで、その部分をテストできます。

テンプレートエンジンが原因である場合、問題の修正には、おそらくそれをアップグレードするか、その内臓をデバッグすることが含まれます。

于 2009-07-22T02:16:50.490 に答える
1

私の知る限り、そのようなajaxでアップロードを送信することはできません。の中にフォームを作成して送信することで偽造することは<iframe>できますが、純粋なajaxを使用してそれを行うことはできないと思います。私はプロトタイプユーザーですが、jqueryやその他のライブラリについても同じことが言えると思います。

于 2009-07-22T02:21:29.297 に答える