2014-12-29 18 views
0

我对Jquery和Ajax的要求还是比较新的。在我正在开发的网站上,我有一个简单的表单元素,它将输入数据发送到服务器。出于某种原因,我无法找到获取表单信息以将其发送到服务器的方法。从POST服务器获取数据不工作

这里是我的jQuery代码

$(document).ready(function() { 
    var temp = "http://localhost:5000/" 
    $("#target").submit(function(event) { 
var aa = $('#target').serialize(); 
alert("Handler for .submit() called." + aa); 
$.ajax({ 
    type: "POST", 
    url: temp+"sign", 
    data: aa, 
    success: function(){}, 
    dataType: "string" 
    }); 
    }); 
}); 

它是相当混乱......我试图诊断问题。

这是表单元素

<form class="form-inline text-center-min" id="target" style="padding-bottom: 100px"> 
    <div class="form-group "> 
    <label class="sr-only" for="exampleInputEmail2">Email address</label> 
    <input type="email" class="form-control filter" id="exampleInputEmail2" placeholder="Enter email"> 
    </div> 
    <button type="submit" class="btn btn-filter">Join</button> 
</form> 

请这将是真棒对于这方面的任何帮助。

+1

我怀疑你在'submit'事件处理程序中缺少'event.preventDefault()',并且在提交表单时重新加载页面。 – 0x2D9A3

回答

1

使用event.preventDefault();你的回调函数的头。

$(document).ready(function() { 
    var temp = "http://localhost:5000/" 
    $("#target").submit(function (event) { 
     event.preventDefault(); 
     var aa = $('#target').serialize(); 
     alert("Handler for .submit() called." + aa); 
     $.ajax({ 
      type: "POST", 
      url: temp + "sign", 
      data: aa, 
      success: function() {}, 
      dataType: "string" 
     }); 
    }); }); 
+0

我试过了,但是当我在服务器端提交表单时,我只是控制台记录了电子邮件,并且注销了它的未定义 –

+0

没有看到就不能说什么。你如何做控制台日志? – alparslanahmed

+0

在我的服务器上这是我所看到的...节点应用程序正在本地主机上运行:5000 undefined undefined 未定义,节点服务器的代码是 app.post('/ sign',function(request,response ){ console.log(request.body); }); (“端口”),函数(){ console.log(“Node app is running at localhost:”+ app.get('port')); }); –