Ajax联系表单问题 – 没有发送电子邮件
对不起是一个菜鸟,但我正在努力。 我已经完成并阅读了我能找到的所有内容,但我从来没有这样做过。 真的很感激帮助。 表单id在html和javascript中匹配。 PHP在Javascript中链接,我在我的html的头部链接了javascript。 我错过了什么? 我已经尝试过我在网上找到的其他代码,但没有。问题是没有电子邮件发送过。 如果你点击发送页面重新加载,那就是它。
PHP
= 5.2.0 if ( isset($_POST['email']) && isset($_POST['name']) && isset($_POST['text']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ) { // detect & prevent header injections $test = "/(content-type|bcc:|cc:|to:)/i"; foreach ( $_POST as $key => $val ) { if ( preg_match( $test, $val ) ) { exit; } } //send email mail( "test@gmail.com", "Contact Form: ".$_POST['name'], $_POST['text'], "From:" . $_POST['email'] ); } ?>
JS
$('#contact').submit(function() { var name = $("#name").val(); var email = $("#email").val(); var message = $("#message").val(); var dataString = 'name=' + name + '&email=' + email + '&message=' + message; $.ajax({ type : "POST", url : "mail.php", data : dataString, cache : false, success : function() { $("#contact").fadeOut(300); $("#notice").fadeIn(400); } }); return false; });
谢谢。
也许你的js代码在jQuery加载之前运行。 尝试在其他js文件之前包含jQuery:
顺便说一句,你只需要包含一次jQuery,而不是两次。
你的textarea有一个name="message"
而你在提交处理程序代码中寻找isset($_POST['text'])
- jQuery.ajax()v1.5为json数据返回“parsererror”
- JQuery Ajax表单和动态创建的表单元素不提交
- CORS + Cordova:问题:Access-Control-Allow-Origin
- 如何使用View Models在ASP.NET MVC 5中使用jQuery.filer插件上传多个文件
- 在我的情况下,如何只发送一次AJAX调用
- Windows 10上的Edge 32位阻止对网络错误0x2efd的localhost的ajax调用
- AJAX JQUERY相关: – 如何在ajax加载的页面上调用ajax
- javascript中的Twitter OAuth身份validation
- 如何用ajax响应替换整个html网页?