2013-11-23 27 views
1

欲執行動作寫在控制器文件/ static_pages_controller.rb:呼叫功能氟利昂紅寶石控制器以JavaScript

def fileopen 
     my_file = File.new("public/CHNAME1.txt","w") 
     my_file.write "\tfasf" 
     my_file.close 

    end 

(它很好地工作,當我在輔助定義它,並調用它在視圖中。)

in myview.html.erb,我想要一些像我該怎麼做?我試着在application.js中

function readfile() { 
    alert('readfile work') 
    $.ajax({ 
    alert('ajax work') 
     url: "/fileopen", 
     type: "POST", 
     ##don't know what to to to call fileopen 
     } 
    }); 
} 

的routes.rb

match '/fileopen', to:'static_pages#fileopen', via: 'get' 

和它似乎沒有發生。只有第一個警報工作

回答

3

你有語法錯誤,試試這個:

function readfile() { 
    alert('readfile work'); 
    $.ajax({ 
     url: "/fileopen", 
     type: "POST", 
     success: function(){ 
      alert('ajax work'); 
     } 
    }); 
} 

我不知道Ruby,但路線是「GET」請求,並且正在對「POST」請求:

match '/fileopen', to:'static_pages#fileopen', via: 'get' // should be via: 'post'? 
+0

TKS,它幫助了我很多,我可以通過Ajax的發送一些變量,如 功能的ReadFile( ){ alert('readfile work'); $就({ URL: 「/的FileOpen」, 類型: 「POST」, 成功:函數(){ 的SendData($變量1); 的SendData($變量2); } }); } 和的FileOpen我可以使用 高清FILEOPEN my_file = File.new( 「公共/ CHNAME1.txt」, 「W」) my_file.write 「$變量1」, 「$變量2」 my_file.close 結束 – Midori

+1

您可以發送數據是這樣的: '$阿賈克斯({ URL: 「/的FileOpen」, 類型: 「POST」, 數據:{參數名稱: '的parameterValue'} 成功:函數(){ 警報('ajax work'); } });'。閱讀文檔:http://api.jquery.com/jQuery.ajax/ – karaxuna

2

不能AJAX中使用警告,如果你想用那在成功和錯誤方法使用