【问题标题】:jQuery Ajax wont POST to phpjQuery Ajax 不会 POST 到 php
【发布时间】:2019-01-22 17:43:39
【问题描述】:

我不知道为什么,但是 jQuery Ajax 不会将数据发布到 url。

$('#submit2').on('click', function(){
  var name = $('#name2').val();
  var email = $('#email').val();
  var text = $('#comment2').val();

  $.ajax({
    method: "POST",
    url: "mail/mail.php",
    data: {name: name, email: email, text: text},
    success: function(data){
      alert(data);
    }
  });
});

这是html代码

<div class="contactus">
  <input id="name2" type="text" placeholder="NAAM"/>
  <input id="email" type="text" placeholder="EMAIL"/>
  <textarea id="comment2" type="text" placeholder="BERICHT"></textarea>
  <input type="submit" value="verzenden" id="submit2">
</div>

我想不使用表单。

【问题讨论】:

  • $('#name2').val() 而不是 .var?
  • 在获取输入值以及将值添加到数据时,您使用的变量名称相同
  • 您在$('#name2').var 和以下两行中有错字,应该是.val
  • @juanbits 泰!有错别字

标签: javascript jquery html ajax post


【解决方案1】:

您需要使用.val() 而不是.var 来获取值。 var 是定义一个变量,就像你为姓名、电子邮件和文本所做的那样。

改一下

  var name = $('#name2').var;

  var name = $('#name2').val();

对所有三个变量执行相同操作。

【讨论】:

  • 现在它只发送#email,其他两个不发送。
  • @Dogantr 代码看起来不错。只是在textarea 元素中不需要type=text。还要确保没有其他 id 为 name2comment2 的元素。 ID 必须是唯一的。我猜你有超过 1 个具有相同 ID 的元素
  • 我的 $_POST 有一个错字
  • @Dogantr 如果它解决了您的问题,请不要忘记接受答案。
猜你喜欢
  • 1970-01-01
  • 2013-12-09
  • 2014-03-17
  • 2013-10-25
  • 2013-03-03
  • 2016-05-26
  • 1970-01-01
  • 1970-01-01
  • 2016-02-05
相关资源
最近更新 更多