私自身の問題を解決しました。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 システムを完全には理解していませんでした。
乾杯