我有点击按钮的方案将调用javascript“showpopupfunc()”,然后需要执行ROR menthod“addmcf” - 这可能吗?
<button class="button" id="buttonUpload" onclick="showpopupfunc()" > </button>
<script>
function ajaxFileUpload()
{
$j.ajaxFileUpload
(
{
url:'/ptcgeodatabase',
secureuri:false,
fileElementId:'fileToUpload',
dataType: 'json',
success: function (data, status)
{
if(typeof(data.error) != 'undefined')
{
if(data.error != '')
{
alert(data.error);
}else
{
alert(data.msg);
}
}
},
error: function (data, status, e)
{
alert(e);
}
}
)
return false;
}
function showpopupfunc()
{
**window.location="http://127.0.0.1:3006/ptcgeodatabase#addmcf"**
showPopWin2('processing', 200, 70, null);
setConfirmUnload(false);
ajaxFileUpload();
}
function addFiles(selectObject, seltext, selvalue)
{
var optionObject = new Option(seltext,selvalue);
var optionRank = document.getElementById("mcffiles").options.length;
if(optionRank <= 9)
{
document.getElementById("mcffiles").options[optionRank]= optionObject;
}
else
alert('Only 9 files can select')
}
</script>
控制器:
def addmcf
# i am doing some operation
@path=RAILS_ROOT.to_s+"/tmp/upload"
@mcfdir=Dir[@path+"/*"]
@x=''
for i in 0..(@mcfdir.length-1)
@x=@x+@mcfdir[i].to_s+'|'
end
end
答案 0 :(得分:2)
您可以使用HTTP请求(例如,AJAX请求)来访问URL,该请求将执行相应控制器操作中的代码。
例如,使用默认路由
http://127.0.0.1:3006/ptcgeodatabase/addmcf
应执行PTCGeoDatabaseController#addcmf
(大写可能不同,结果取决于定义的路线。)