我有一个javascript文件,我一直在使用它作为我正在处理的网站的模板,在该脚本中有一个简单的表单验证,如果没有错误发生 - 将数据发送到一个名为的PHP页面contact.php。
但我不确定如何“抓取”PHP网站中JavaScript发送的数据? contact.php工作 - 也就是说,如果我,在我的表单中,直接将它指向contact.php,它会毫无问题地发送邮件。在该文件中,我发送如下变量:$ name = $ _POST ['formName'];依此类推,最后将其发送给邮件功能。
我在JavaScript文件中发送数据并在同一页面上显示“成功”消息的代码是:
$.post("contact.php",
{ formFrom: FromValue, formName: NameValue, formMessage: messageValue },
function(data){
$("#loadingImage").fadeOut("fast", function() {
$("#loadingImage").before('<p>The message has been sucessfully send. Thank you!</p>');
});
}
);
NameValue, messageValue, FromValue
在表单验证中设置为var messageValue = $("#formMessage").val();
。
非常感谢任何帮助。
施
- 梅斯蒂卡
答案 0 :(得分:2)
只需使用jQuery AJAX调用(此语法来自 jQuery 1.5.X ):
$.ajax({
type: 'POST'
url: urlString,
data: {formFrom: FromValue, formName: NameValue, formMessage: messageValue}
}).success(function(data, status, xhr) {
var obj = eval('(' + data + ')');
//response as object
});
要将JSON发送回JavaScript,请在PHP中使用此函数:
http://php.net/manual/en/function.json-encode.php
另一件事:根据经验,使用像“FromValue”这样的变量名称是不好的做法。初始大小写应该用于类名,而不是变量(JavaScript开发人员从Java借用了这种做法)。