【问题标题】:Jquery Ajax doesnt send send mail formJquery Ajax 不发送发送邮件表单
【发布时间】:2012-06-20 13:56:56
【问题描述】:

我正在尝试使用 AJAX 和 PHP 发送电子邮件,但没有成功:(
我的成功函数提醒我它正在工作,但我的邮箱中什么也没有。PHP 表单位于在我的 ROOT 文件夹中,它正在工作,所以我知道这不是 PHP 问题。 已经尝试了几个小时来解决这个问题,但没有效果。有人可以帮忙吗?谢谢!!!这是我的 console.log 显示的内容:

姓名=我的姓名&email=dejo.dekic@yahoo.com&message=一些信息 pagepays.js
POST http://www.homepagepays.robertpeic.com/kontakt.php 200 OK 284ms 我的 jquery 代码如下所示:

      $('#button').click(function(){
      var name = $('#name').val();
      var email = $('#email').val();
      var message = $('#message').val();

      var data ='name=' + name + '&email=' + email + '&message=' + message;
      console.log(data);
      $.ajax({
      type:"POST",
      url:'kontakt.php',
      data: data,
      success: function(){
      alert('Working!');
      }

      });
      return false;
      });

【问题讨论】:

  • 您可能遇到了 Apache smtp 配置问题。
  • 试试 var data ='?name=' + name + '&email=' + email + '&message=' + message;
  • PHP 表单本身正在工作
  • 此外,您应该考虑对表单进行序列化,这样您就不需要在 urldata 参数中声明每个变量。 stackoverflow.com/questions/1184624/…
  • @Sandy:如果将数据传递给data 参数,则数据不需要?

标签: jquery


【解决方案1】:

您可能需要对您传递的值进行 URI 编码。如果任何字段具有=&,它可能会关闭您的 URL。当然,根据我上面的cmets,我认为你应该序列化你的Form并对其进行编码,也可以按照你的方式完成。

  var name = encodeURIComponent($('#name').val());
  var email = encodeURIComponent($('#email').val());
  var message = encodeURIComponent($('#message').val());

JSFiddle:http://jsfiddle.net/UXZQk/5/

【讨论】:

    【解决方案2】:

    我看不出你的 jQuery 有什么问题。如果您使用 URL 中的变量或电子邮件页面中的一些默认值加载它,您的 php 页面实际上是否会向您发送电子邮件?

    您可以尝试通过获取数据然后在您的 php 页面中使用它来打印出 php 页面正在接收的数据。

    print("$name - $email - $message");
    

    然后将您的 jQuery ajax 调用更改为此;

    $.ajax({
      type:"POST",
      url:'kontakt.php',
      data: data,
      success: function(response){
        alert(response);
      }
    });
    

    这应该告诉您 php 页面是否正在使用 ajax 调用和您发送的数据。如果您没有取回您期望的数据,那么 php 页面获取其变量的方式一定有问题。

    【讨论】:

      猜你喜欢
      • 2018-10-11
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多