从JavaScript执行Perl CGI的问题
问题描述:
如何让我的Perl脚本能够从JavaScript窗口的'action'属性调用JavaScript执行?从JavaScript执行Perl CGI的问题
我使用的是其他人主要构建的脚本,其基本要点是我需要从JS函数中调用CGI脚本。
我必须这样做,因为这是我可以根据设备是否是移动设备而最好的。
我需要将一些复选框传递给Perl脚本,并根据复选框状态返回一些文件。我知道Perl脚本完美工作,无需执行JavaScript,但我不知道如何检查一个设备是否是移动的或不是在Perl中,而我在JS中。
我所需要的只是执行CGI脚本,并将它传递给它直接从窗体中调用的信息,但它什么也不做。
这里是我的JavaScript:
function downloadFiles(){
var isMobile = function(){
try {document.createEvent("TouchEvent"); return true;}
catch(e) {return false;}
}
&& (/Mobi/i.test(navigator.userAgent));
if(!isMobile){
$.ajax({
type:"Post",
url:"https://www.mywebsite.com/cgi-bin/myPerlScript.cgi",
success:function(msg){$("#myHtmlForm").html(msg.d);}
});
}
}
我弄不太清楚是什么“味精”或财产“d”是的,我甚至不知道我的形式应该是元素的地方是。那么我在这里错过了什么?
答
事实证明,我并没有完全或正确地构建ajax声明。我没有添加任何我需要传入CGI脚本的数据。
这里的AJAX声明我结束了:
$.ajax({
type:"POST",
url:"/cgi-bin/myPerlScript.cgi",
data:$("#myHtmlForm").serialize(),
error:function badCall(){location.href="https://www.mywebsite.com/error.html";}
});
谢谢@ikegami,@mkHun,@simbabque和@DaveCross!
你有什么问题? – ikegami
您可以尝试使用jQuery文件下载插件下载该文件:http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads/ –
@Meloviz url:should是'/ cgi-bin/myPerlScript.cgi' – mkHun