问题: Javascript函数(由模板预先制作)清理由php发送给我的表单数据
PHP 代码:
<?php
header('Content-type: application/json');
$status = array(
'type'=>'success',
'message'=>'GJ '
);
$name = @trim(stripslashes($_POST['name']));
$phone = @trim(stripslashes($_POST['phone']));
$subject = @trim(stripslashes($_POST['subject']));
$message = @trim(stripslashes($_POST['message']));
$email_to = 'email@email.com';//replace with your email
$body = 'Name: ' . $name . "\n\n" . 'Телефон: ' . $phone . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;
$success = @mail($email_to, $subject, $body);
echo json_encode($status);
die;
javascript函数代码:
var form = $('.contact-form');
form.submit(function () {'use strict',
$this = $(this);
$.post($(this).attr('action'), function(data) {
$this.prev().text(data.message).fadeIn().delay(3000).fadeOut();
},'json');
return false;
});
当没有js代码时,php返回带有一行的白屏,但@mail发送正常消息,但是当有此代码时,淡入和淡出效果很好,但数据到达为空。如果消息和名称很重要,则消息和名称中的消息是西文的。
请帮我修复它(即我需要数据到达和成功淡入出现,或者至少需要数据到达但没有 .php 白屏),或者只是解释一下 js 代码的作用,我不明白。 谢谢
最佳答案
您尚未为 $.post
提供 data
参数
尝试
var form = $('.contact-form');
form.submit(function () {'use strict',
var $this = $(this);
$.post($(this).attr('action'), $this.serialize(), function(data) {
$this.prev().text(data.message).fadeIn().delay(3000).fadeOut();
},'json');
return false;
});
引用文献:
关于javascript - js删除提交的表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26531435/