我正在尝试使用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;
});
答案 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/