2011-04-11 65 views
1

我有一个javascript文件,我一直在使用作为模板的网站我工作,并在该脚本中有一个简单的表单验证它 - 如果没有发生错误 - 将数据发送到名为contact.php的PHP页面。发送数据从jQuery到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();表单验证设置。

任何帮助将非常感激。

真诚
- Mestika

+0

您正在寻找http://api.jquery.com/jQuery.ajax/ – Kzqai 2011-04-11 14:33:36

回答

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中借用了这种做法)。