Php Ajax数据发布

Php Ajax数据发布,php,javascript,jquery,html,ajax,Php,Javascript,Jquery,Html,Ajax,您好,我正在尝试实现一个ajax邀请脚本,该脚本将允许用户邀请他/她的朋友参加该活动。我在网站的其他部分使用了几乎相同的javascript,它们工作得很好,但在这种情况下,它不工作,我确信问题仍然存在,因为javascript部分,因为正如我所说,我使用了几乎完全相同的脚本,它工作得很好,当我发布数据时,它不会发送电子邮件,我的邮件功能工作得很好(在其他页面中,我在没有ajax的情况下也使用了相同的方法,并且可以工作),但我认为javascript部分在这种情况下无法发布数据 顺便说一下,获取

您好,我正在尝试实现一个ajax邀请脚本,该脚本将允许用户邀请他/她的朋友参加该活动。我在网站的其他部分使用了几乎相同的javascript,它们工作得很好,但在这种情况下,它不工作,我确信问题仍然存在,因为javascript部分,因为正如我所说,我使用了几乎完全相同的脚本,它工作得很好,当我发布数据时,它不会发送电子邮件,我的邮件功能工作得很好(在其他页面中,我在没有ajax的情况下也使用了相同的方法,并且可以工作),但我认为javascript部分在这种情况下无法发布数据

顺便说一下,获取隐藏部分中的值没有任何问题

希望你能帮忙

javascript部分:

 <script type=\"text/javascript\">
 $(document).ready(function() {

$('.error').hide(); //Hide error messages 
$('#MainResult').hide(); //we will hide this right now

$(\"#button\").click(function() { //User clicks on Submit button


 var js_name = $(\"#name\").val();
 var js_message = $(\"#message\").val();
 var js_username = $(\"#username\").val();
 var js_useremail = $(\"#useremail\").val();
 var js_eventname = $(\"#eventname\").val();

 if(js_name==\"\"){
     $(\"#nameLb .error\").show(); // If Field is empty, we'll just show error text inside <span> tag.
     return false;}
if( js_message==\"\"){
     $(\"#messageLb .error\").show(); // If Field is empty, we'll just show error text inside <span> tag.
     return false;}


  var myData = 'postName='+ js_name + '&postMessage=' + js_message + '&username=' + js_username  + '&useremail=' + js_useremail  + '&eventname=' + js_eventname;

        jQuery.ajax({
            type: \"POST\",
            url: \"invite.php\",
            dataType:\"html\",
            data:myData,
            success:function(response){
                $(\"#MainResult\").html('<fieldset class=\"response\">'+response+'</fieldset>');
                $(\"#MainResult\").slideDown(\"slow\"); //show Result 
                $(\"#MainContent\").hide(); //hide form div slowly
            },
            error:function (xhr, ajaxOptions, thrownError){
                $(\"#ErrResults\").html(thrownError);
            }    
        });
    return false;
});


$(\"#gobacknow\").live(\"click\", function() { 
            $(\"#MainResult\").hide(); //show Result 
            $(\"#MainContent\").slideDown(\"slow\"); //hide form div slowly

            //clear all fields to empty state
            $(\"#name\").val('');$(\"#message\").val('');
});

$(\"#OpenContact\").live(\"click\", function() { 
            $(\"#form-wapper\").toggle(\"slow\");

});
 });
 </script>

与其尝试调试javascript,不如为javascript AJAX帖子提供一种更简单/更简洁的方法:

$.post('invite.php',$('#MyContactForm').serialize(),function(data){
    if(data.success){
      // all your on success stuff here
        alert('success!');
    }else{
      // show error messages
        alert(data.e);
    }
},'json');
对于PHP部分,回显JSON响应数组,例如:

$data['success']=false;
$data['e']='Some error';
echo json_encode($data);

为什么要在示例的javascript部分转义引号?因为它位于php部分,如$js=“此处的js部分”;
$.post('invite.php',$('#MyContactForm').serialize(),function(data){
    if(data.success){
      // all your on success stuff here
        alert('success!');
    }else{
      // show error messages
        alert(data.e);
    }
},'json');
$data['success']=false;
$data['e']='Some error';
echo json_encode($data);