1

importcsv モジュールがインストールされていて、importcsv ページが正常に読み込まれます。URLをロードすると、ファイルアップロードボタンが表示されます- https://web/importcsv

ファイルをアップロードすると、ajax の「読み込み中」というテキストが表示されますが、ajax の応答は、importCsvFirstStepResult div ( 「次のステップ」フィールド)、download.js の ajax リクエストが完了した後

 ...
   onComplete : function(file, response) {
        this.enable();
        $("input#fileName").val(file);
        $("div#importCsvFirstStepResult").html(response);
    }

/importcsv/default/upload ajax 応答に明らかに間違ったレイアウトが含まれているか、要求の検出に失敗したか、または ???? そして、そのデフォルト ビューを応答 div、メニュー、およびすべてにロードします。私は Yii にかなり慣れていないので、おそらくこれは明らかな誰かです。

ご協力ありがとうございます。

4

1 に答える 1

2

私自身の問題を解決しました。ajax の問題は、urlManager ルールを微調整した (壊れた) ことが原因でした。テーブルの数値以外の主キーに対応するように元のルールを変更しました。たとえば、患者を表示するための URL は、 https://web/patients/view/1234ではなく、https://web/ patients/view/ABC_1234になります。

私は可能な限り既存の db スキーマを使用する傾向があり、クライアントの db スキーマが現在設定されている方法では、数値以外の主キーを使用しています。特定の理由でこれを続行したかったので、\d は数字のみに一致するため、URL パラメータを編集する必要がありました。残念ながら、それを \w に変更すると、いくつかの ajax リクエストにも一致し、すべてが壊れました。

Yii オリジナル ルール。正常に動作しますが、英数字の主キーでは機能しません:

 'rules'=>array(
                '<controller:\w+>/<id:\d+>'=>'<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
            ),

最初に、英数字の外部キーを処理するために次のように変更しましたが、これにより一部の ajax が壊れました。

'rules'=>array(
                '<controller:\w+>/<action:\w+>/<id:\w+>'=>'<controller>/<action>',
                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
                '/gii'=>'/gii/default/login',
        ),

最終的に以下に到達しました。これにより、ajax モジュールが適切に機能し、数字以外のキーを処理できるようになります。

'rules'=>array(
   '/libraries/<action:\w+>/<id:\w+>'=>'/libraries/<action>',
   '/patients/<action:\w+>/<id:\w+>'=>'/patients/<action>',
   '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
   '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),

必要なコントローラーだけにルールを明示的に設定することになりました。それらのほとんどは整数の主キーを使用します

これが他の誰かに役立つことを願っています。私は Yii を初めて使用し、ルールを変更したとき、Yii のルールと ajax システムを完全には理解していませんでした。

乾杯

于 2012-04-25T15:31:09.353 に答える