2015-03-31 94 views
0

我有一個jQuery Ajax發佈的問題。
以前我是用jquery Ajax發佈空輸入值到php

<form method="post" action="manageUserItem.php">....</form> 

張貼我的輸入值,並插入到數據庫中。
但是當我試圖改變jQuery的AJAX功能,使用此代碼:

$.validator.setDefaults({ 
     submitHandler: function() { 
      var formData = new FormData($(this)[0]);  
       $.ajax({ 
        url:'manageUserItem.php', 
        type: 'POST', 
        data: formData, 
        async: false, 
        beforeSend: function(){ 
         if(confirm('Are you sure?')) 
          return true; 
         else 
          return false; 
        }, 
        cache: false, 
        contentType: false, 
        processData: false 
       }).done(function() { 
         //do something if you want when the post is successfully 
         if(!alert('New User Created.')){document.getelementbyclassname('form').reset()} 
       }).fail(function() { 
         //if the post is failed show an error message if you want 
         alert('Some error occur. Please try again later.'); 
       }); 
       return false; 
     } 
    }); 

然後我的名字,用戶名和密碼輸入欄成爲空當插入到數據庫中。
我的代碼有什麼問題嗎?

請給我一些建議,因爲我還是這個新手。

+0

嘗試'新FORMDATA(本[0]);'也許。 – D4V1D 2015-03-31 09:11:37

+0

不行,不行, – 2015-03-31 09:15:11

+0

'new FormData($('#yourForm'));'? – D4V1D 2015-03-31 09:16:57

回答

2

你可以試試這個:

var formData = new FormData(document.forms[0]); 
+0

謝謝,它工作nw – 2015-03-31 09:18:07

+0

@MarcusTan ..你的wc ..你可以接受它作爲一個答案.. – 2015-03-31 09:18:43

1

您在這裏有一個問題:

var formData = new FormData($(this)[0]);  

在這種情況下 「本」 - 是submitHandler

嘗試使用類或類似形式的ID

var formData = new FormData($(".myFormClass")[0]);  
0

Try t Øserialize數據:

var formdata = $("form").serialize(); 
console.log(formdata); 

而且到的console.log()

輸出看起來是這樣的:

name=john_doe&user_id=1&password=my_passowrd