javascript - 从 JavaScript 执行 Perl CGI 时出现问题

标签 javascript jquery ajax perl cgi

如何让 Perl 脚本从 HTML 表单的“action”属性调用的 JavaScript 执行?

我主要使用其他人构建的脚本,其基本要点是我需要从 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);}
        });
    }
}

我不知道“msg”或其属性“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!

关于javascript - 从 JavaScript 执行 Perl CGI 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40732577/

相关文章:

javascript - 如何使用 AJAX 将 DropDown 保存到数据库中

jquery - 如何使用 ajax(或简单的,以防 ajax 不可能)从网站到我的网站的结果?

jquery - 这是如何在 JSON 中使用哈希值吗?

c# - 使用 MVC 3 不显眼的 Javascript 进行全局 jQuery AJAX 错误处理

javascript - jQuery 每四个元素一次,除非最后一个

javascript - JS 循环内循环

javascript - 如何在网站上添加实时代码编辑器?

javascript - 嵌套的 $(document).ready() 和 $(window).load() 事件之间的区别

javascript - Chrome 无法加载网络 worker

javascript - Node.js 阻塞 Bootstrap?