2016-03-10 29 views
1

由于HTML,JavaScript和所有属于它的东西对我而言是非常新鲜的东西,我经常会遇到某些问题。不能让我的帖子()使用jQuery Ajax工作

今天我的问题是,我不知道如何让我的脚本发布()我放入我的输入字段。

我有3个输入字段在我的HTML应该采取名字,姓氏和电子邮件,并将其发送到数据库(MySQL),当我按下按钮执行该功能。

简单地说,我的HTML看起来像这样:

<form id="regForm"> 
     <div> 
      <label for="firstname">Firstname</label> 
      <input id="firstname" type="text" name="firstname"/> 
     </div> 
     <div> 
      <label for="lastname">Lastname</label> 
      <input id="lastname" type="text" name="lastname"/> 
     </div> 
     <div> 
      <label for="email">Email</label> 
      <input id="email" type="email" name="email"/> 
     </div> 
      <button id="regBtn" type="button">Click Me</button> 
    </form> 

现在到了棘手位:(我的脚本文件:

$(document).ready(function() { 
    $("#regBtn").click(function() { 
     $.post("example.ex/register") 
     //I dont know what to do here// 
    }); 
}); 

...我已经寻找并尝试了一些例子但是我做的事情错了。 这样的事情?

//This is an example// 
    $(document).ready(function() { 
    $("#regBtn").click(function() { 
     $.post("example.ex/register"), 
     { 
      firstname: "#firstname", 
      lastname: "#lastname", 
      email: "#email" 
     } 
    }); 
}); 

我怎么把我的名字,拉斯tname和电子邮件从我的输入作为参数? 请帮我理解这是如何工作的。谢谢。

+0

您使用$ .post()的data:属性发送。请记住,如果你用json之类的东西发送它,你必须使用JSON.parse(你的数据),这样才能被这篇文章理解。只是一个头。 – Casey

回答

0

你需要哟抓住输入值。

在JavaScript与$('#firstname').val()

这是假设你的名字输入了姓名

+0

这真的是所有需要的......男人......这么简单。我很亲密:)感谢很多 – idkwat2do

0

你应该尝试阅读文档API of jQuery的ID代替"#firstname"。在这里您可以看到如何使用jQuery进行POST调用,包括示例。这会帮助你很长一段路。

但我会给你一点代码,可以帮助你在正确的方向。

$(document).ready(function() { 
    $("#regBtn").click(function() { 
     $.post("example.ex/register", $('#regForm').serializeArray(), function(response) { 

     }); 
    }); 
}); 
+0

我设法让它工作。我绝对会读到这个,本周我开始学习jQuery,所以我会及时到达那里。谢谢 – idkwat2do

0

标准的方式使用jQuery像下面的例子为POST:

$.post("PAGE_URL", { DATA_TO_BE_SENT_GOES_HERE }); 

所以在你的榜样,你需要使你的代码如下所示:

$.post("example.ex/register", 
     { 
      firstname: $("#firstname").val(), 
      lastname: $("#lastname").val(), 
      email: $("#email").val() 
     }); 

的您的代码块出现问题是这里的拼写错误:

$.post("example.ex/register"), {YOUR_DATA}; 

而正确的应该是这样的:

$.post("example.ex/register", {YOUR_DATA}); 

你只需提供其应与你的电话发送数据之前关闭该功能。

另一个isue解决的是,你最想在成功接收该操作是使用以下签名成功完成,这是完成的数据来通知用户,同时呼吁$.post()

$.post("PAGE_URL", { name: "Test", time: "10AM" }, success: FUNCTION_TO_EXCUTE_ON_SUCCESS()); 

做回到你的代码,它应该是这样的:

$.post("example.ex/register", 
     { 
      firstname: $("#firstname").val(), 
      lastname: $("#lastname").val(), 
      email: $("#email").val() 
     },success: function(){ 
alert("Action completed successfully") // please make a better UI decision than altering the user, this is just an example :) 
    }); 

希望这可以帮助。

+0

这就是我解决它的方式,谢谢你们在这里的计算器。这比我想象的要简单 – idkwat2do