0

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

name=MY NAME&email=dejo.dekic@yahoo.com&message=SOME 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;
      });
4

2 回答 2

1

我看不出你的 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 页面获取其变量的方式一定有问题。

于 2012-06-20T14:13:29.287 回答
1

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

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

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

于 2012-06-20T14:16:12.660 回答