2013-06-22 86 views
1

,我現在使用Ajax發送表單的問題,無法找到哪裏是錯誤,爲什麼我的ajax不提交?

這裏我的html:

<form method="post" id="update-profile" name="update-form" action="process.php"> 

<input name="username" type="text" id="username" value="<?php echo $username;?>"/> 
........ 
<input name="update_profile" type="button" class="submit" id="update_profile" value="Update" onclick="return formValidation();" /> 

,這是我的javascript:

function formValidation() { 
     // other validations here 
    if (validsex(umsex, ufsex)) { 



      $('#mydata').html('Saving ...<img src="../images/loading.gif" />'); 
     $.ajax({ 

     url: "process.php", 
     dataType: 'json' , 
     data :{ id  : document.getElementById('iidd').value, 
       username : document.getElementById('username').value, 
       name  : document.getElementById('name').value, 
        password : document.getElementById('password').value, 
        slist: document.getElementById('slist').value, 
        sexs : sexs, 
        update_profile : "update_profile", 




    type : 'POST', 

     success: function(msg){ 


     $('#mydata').html("<span >saved succefully </span>").delay(3000).fadeOut('fast'); 


     } 
     } 


      }); 


         } 
        } 

      } 
     } 

} 
return false; 
    }        

甚至與調試這

 error: function(jqXHR, textStatus, errorThrown) { 
    console.log(JSON.stringify(jqXHR)); 
    console.log("AJAX error: " + textStatus + ' : ' + errorThrown); 
    }, 

它說:AJAX error: undefined : undefined

,所以我不知道是什麼問題。

這裏我process.php:

if (isset($_POST['update_profile'])) { 

    $id = $_POST['iidd']; 
    $username = mysql_real_escape_string($_POST['username']); 
    $name = mysql_real_escape_string($_POST['name']); 
    $password = mysql_real_escape_string($_POST['password']); 
    $country = mysql_real_escape_string($_POST['slist']); 
    $sex = mysql_real_escape_string($_POST['sexs']); 
//update query here 

感謝!

+0

沒有用大括號 – Shaddow

+0

我可能是錯的問題,但似乎你發送' id'在JavaScript中,但然後在PHP中,你正在檢查'$ _POST ['iidd']'? – element119

+0

@autibyte請看我的評論請sushanth。我編輯了你的建議。 –

回答

0

好,我有固定的。使失蹤支具@sushanth說,改變這種$id = $_POST['id']後,這是成功的消息後

我在服務器端

 $response_array['status'] = 'success'; 
    }else {$response_array['status'] = 'error';} 
    echo json_encode($response_array); 

做到了這一點和在客戶端這樣的:

success: function(data){ 
     if(data.status == 'success') 
    // jAlert("Your data is saved succefully"); 
$('#mydata').html("<span >saved succefully!</span>").delay(3000).fadeOut('fast'); 
    else if(data.status == 'error') 
     alert("Error on query!"); 
2

您還沒有關閉大括號data財產

 data: { 
      id: document.getElementById('iidd').value, 
      username: document.getElementById('username').value, 
      name: document.getElementById('name').value, 
      password: document.getElementById('password').value, 
      slist: document.getElementById('slist').value, 
      sexs: sexs, 
      update_profile: "update_profile" 

     }, <---- Missing this 

而且我不理解你的代碼中所有其他的額外支撐的原因。

應該看起來像

function formValidation() { 
    // other validations here 
    if (validsex(umsex, ufsex)) { 
     $('#mydata').html('Saving ...<img src="../images/loading.gif" />'); 
     $.ajax({ 

      url: "process.php", 
      dataType: 'json', 
      data: { 
       id: document.getElementById('iidd').value, 
       username: document.getElementById('username').value, 
       name: document.getElementById('name').value, 
       password: document.getElementById('password').value, 
       slist: document.getElementById('slist').value, 
       sexs: sexs, 
       update_profile: "update_profile" 
      }, 
      type: 'POST', 
      success: function (msg) { 
       $('#mydata') 
        .html("<span >saved succefully </span>") 
        .delay(3000).fadeOut('fast'); 
      } 

     }); 
    } 
    return false; 
} 
+0

已經做了這是錯過了梅開二度和編輯也什麼autibyte到'$ ID = $ _ POST [「身份證」];要檢查'的ID。和其他大括號正如我說的其他檢查功能,所以他們是正確的。但它仍然不更新數據庫。與此誤差函數即時得到這個'控制檯{ 「readyState的」 4 「responseText的」: 「\ r \ nupdated」, 「狀態」:200, 「狀態文本」: 「OK」} 型材update.js(第44行) AJAX錯誤:parsererror:SyntaxError:JSON.parse:意外字符 –

+0

我已經刪除了這個函數的錯誤,並更新了數據庫,但我沒有得到成功消息,也沒有加載gif沒有隱藏。 –

+0

@echo_Samir你確定你選擇了正確的元素嗎? – element119

相關問題