Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery将表单发送到cgi_Jquery_Forms_Cgi - Fatal编程技术网

使用jQuery将表单发送到cgi

使用jQuery将表单发送到cgi,jquery,forms,cgi,Jquery,Forms,Cgi,我想发送一个表单并控制使用jQuery之后发生的事情我不能使用php。我的服务器有cgi来处理数据。如何使用jQuery将表单发送到cgi?。我不知道怎么做,但我试过这样的方法: $(function(){ var name = $("input:text").val("name"); ; $(":submit").click(function(e){ e.preventDefault(); load("http://cgi.myDomain.com/Fo

我想发送一个表单并控制使用jQuery之后发生的事情我不能使用php。我的服务器有cgi来处理数据。如何使用jQuery将表单发送到cgi?。我不知道怎么做,但我试过这样的方法:

$(function(){

   var name = $("input:text").val("name"); ;

   $(":submit").click(function(e){
      e.preventDefault();
      load("http://cgi.myDomain.com/FormMail.pl", ( name ));
   });

})
  • html:

    <Form id="formulari" method="POST" action="http://cgi.aDomain/FormMail.pl">
    <p>
      <input type="hidden" name="recipient" value="anE-mail">
      <input type="hidden" name="subject" value="Form send">
      <input type="hidden" name="redirect" value="http://www.theSamePage.html">  
    </p>
    
    <form>
    <input type="text" name="name" value="name"/>
    <input type="submit" value="Send"/>
    </form>
    
    </div>
    
    <div class="answer">Thank you</div>
    

    
    
    

    非常感谢。

您应该使用AJAX,使用它,您可以使用POST或GET方法提交表单,并从服务器收到答复。此外,它还允许您在不重新加载页面的情况下使事情发生

这是一本很酷的教程

编辑

试试这个,请注意,我只是使用这段html,没有表单,只有输入元素

html

    <input type="text" id="name" name="name" value="name"/>
    <input class="send" type="submit" value="Send"/>

我不能使用php。有没有办法把表格寄给cgi?谢谢你,普鲁达。你所做的似乎很好,但我加载到我的服务器,它不工作。也许我错过了什么?这里我有您提供的所有代码,但放在一起:这是因为您使用的是旧的jquery库,您应该更新到jquery 1.8,或者如果您需要1.4,请替换此行$('.send')。单击(函数(事件){我更新到上一个jquery库,但它不起作用:我收到一条消息,上面写着:[object][object],我没有收到电子邮件(我当然把文件放在我的服务器上了)可能是我的错,有什么我不明白的吗?什么不起作用?在JSFIDLE中,它永远不会起作用,因为JSFIDLE没有访问您服务器的权限。您的问题是提交表单,代码使用AJAX来完成。我的问题是您的CGI工作正常吗?您理解代码吗?该标记或其他标记/string/nu您想要的mber通过服务器端脚本php/asp/cgi发送回jquery,您不需要将其添加到html中。
    $('.send').on('click', function(event) {
        $.ajax({
            type: "POST",
            url: "http://cgi.aDomain.com/FormMail.pl",
            data: {name: $("#name").val()},
            error: function(result) {
                var data_received = $(result).find("h1");
                alert(data_received );
            },
            success: function(result) {
                alert(result);
            }
        });
    });