2012-09-23 80 views
0

我是Jquery的新手。我試圖使用JQuery Post發佈一個表單到一個PHP文件,我在PHP文件中做了一個var_dump($ _ POST),但我只能看到一個空數組(看到使用螢火蟲淨),但我回到成功Jquery的功能。可能是我在做一些愚蠢的事情。除了這個問題,所有的Javascript行爲都按預期工作。有人請幫助Ajax POST無法使用Jquery和PHP

$(document).ready(function() { 

    //if submit button is clicked 
    $('#submit').click(function() {  

     //show the loading sign 
     $('#example').modal('show') ; 


     //start the ajax 
     $.ajax({ 
      //this is the php file that processes the data 
      url: "mvc/process_form.php", 

      //GET method is used 
      type: "POST", 


      //Do not cache the page 
      cache: false, 

      //success 
      success: function (html) {    
       //if process_form.php returned 1/true (process success) 

       if (html==1) {     
        //hide the form 
        $('.form').fadeOut('slow');     

        //show the success message 
        $('.done').fadeIn('slow'); 

       //if process.php returned 0/false (send mail failed) 
       } else alert('Sorry, unexpected error. Please try again later.');    
      }  
     }); 

     //cancel the submit button default behaviours 
     return false; 
    }); 
}); 

回答

1

您需要將表單數據作爲序列化傳遞。現在你不會將表單數據傳遞給你的ajax函數。

在這裏你去:

$(document).ready(function() { 

    //if submit button is clicked 
    $('#submit').click(function() {  

     //show the loading sign 
     $('#example').modal('show') ; 


     //start the ajax 
     $.ajax({ 
      //this is the php file that processes the data 
      url: "mvc/process_form.php", 

      //GET method is used 
      type: "POST", 
      data: $("#testform").serialize(), 

      //Do not cache the page 
      cache: false, 

      //success 
      success: function (html) {    
       //if process_form.php returned 1/true (process success) 

       if (html==1) {     
        //hide the form 
        $('.form').fadeOut('slow');     

        //show the success message 
        $('.done').fadeIn('slow'); 

       //if process.php returned 0/false (send mail failed) 
       } else alert('Sorry, unexpected error. Please try again later.');    
      }  
     }); 

     //cancel the submit button default behaviours 
     return false; 
    }); 
}); 
+0

謝謝你的時間..它真的幫了我 – Codemator

+0

歡迎@Renjith – GBD

2

你不傳遞任何_POST $ data在你的Ajax功能。 http://api.jquery.com/jQuery.ajax/

+0

我有我的形式大約三十輸入你的意思是說,我需要手動通過全部投入到數據? – Codemator

+0

你可以使用表格序列化。像@GBD所說的 – GBD

+0

,使用序列化。 –

0

也試試這個:

var url = "mvc/process_form.php", 
    data = {hello: hello}; 
$.post(url,data, 
     function (status) 
     { 
     alert(status); 
     } 
);