2012-04-20 67 views
1

我已經安裝importcsv模塊並且importcsv頁面加載正常。我加載url時出現文件上傳按鈕 - https://web/importcsvYii importcsv模塊頭疼

我上傳了一個文件,並且出現了ajax「loading」文本,但是ajax響應結果是我網站的整個佈局以及默認importcsv上傳頁面而那什麼,我會承擔應該在importCsvFirstStepResult DIV加載(「下一步」字段),之後在download.js Ajax請求完成

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

的/ importcsv /默認/上傳Ajax響應明顯包含錯誤的佈局,未能檢測到請求,或者?並將該默認視圖加載到響應div,菜單和全部。我對Yii相當陌生,所以也許這是顯而易見的。

感謝您的協助。

回答

2

解決了我自己的問題。 ajax問題是由於我調整了(打破)了我的urlManager規則。我更改了原始規則以適應表上的非數字主鍵。例如,要觀察病人的網址應該https://web/patients/view/ABC_1234代替https://web/patients/view/1234

我傾向於使用現有的我的客戶數據庫架構設置現在的樣子,他們正在使用一個非數字的主鍵在可能和DB模式。我想繼續這個由於某些原因,所以我不得不編輯url params \ d只匹配數字。不幸的是,將它改爲\ 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系統。

乾杯

+0

恭喜您!如果可以,請確保將您的答案標記爲「已接受」,以便其他人能夠從您的成功中學習。乾杯〜 – 2012-04-25 16:14:44

+0

感謝您的提示。 – glyph 2012-04-26 14:29:05