Jquery Ajax不发送发送邮件表单

时间:2012-06-20 13:56:56

标签: jquery

我正在尝试使用AJAX和PHP发送电子邮件,但没有成功:(我的成功功能提醒我它是工作但我的邮箱里什么都没有.PHP表格是位于我的ROOT文件夹,它正在工作,所以我知道它不是PHP的问题。 一直在努力解决这个问题,但没有效果。有人可以帮忙吗?谢谢!!!这是我的 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;
      });

2 个答案:

答案 0 :(得分:1)

我认为你的jQuery没有任何问题。如果您使用URL中的变量加载它,或者在电子邮件页面中使用某些默认值,您实际上是否向您发送了一封电子邮件?

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

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

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

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

这应该告诉您php页面是否正在使用ajax调用和您发送的数据。如果你没有得到你期望的数据,那么必须有一些关于php页面如何获取变量的东西。

答案 1 :(得分:1)

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

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

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