2012-04-20 8 views
1

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

ファイルをアップロードするとajaxの読み込みテキストが表示されますが、ajaxの応答は自分のサイトの全体レイアウトとデフォルトのimportcsvアップロードページになりますdownload.jsでAJAXリクエストが

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

明らかに/ importcsv /デフォルト/アップロードAJAXの応答を完了した後に、そのむしろ私が引き受けることは、importCsvFirstStepResultのDIV(「次のステップ」フィールド)にロードするようになっています間違ったレイアウトが含まれているか、リクエストの検出に失敗しましたか?デフォルトのビューを応答div、メニュー、およびすべてにロードします。私はかなりYiiに新しいので、おそらくこれは明白な誰かです。

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

答えて

2

解決しました。 ajaxの問題は、私のurlManagerルールを微調整(破棄)していたためです。元のルールを変更して、テーブルの非数値の主キーに対応しました。例えば、患者を表示するためのURLは、私は私のクライアントのDBスキーマは、現在設定されている方法は、彼らは非数値の主キーを使用している可能性と、DBスキーマを既存の使用する傾向があるhttps://web/patients/view/ABC_1234代わり

https://web/patients/view/1234であろう。何らかの理由でこれを続行したかったので、\ dは数字にのみ一致するため、urlパラメータを編集しなければなりませんでした。残念ながらそれを\ wに変更すると、いくつかのAjaxリクエストにマッチし、すべてを破った。

元来の規則。正常に動作しますが、英数字の主キーは動作しません:

'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システムを完全に理解していませんでした。

乾杯

+0

修正のおめでとう!あなたができるときは、他の人があなたの成功から学ぶことができるように、あなたの答えに「受け入れられた」と記入してください。乾杯〜 –

+0

チップのおかげで。 – glyph

関連する問題