2012-03-04 60 views
0

我有一個按鈕來上傳內容(與關鍵,大小和MD5校驗)到服務器。 我不知道內容是否可以在內容上傳到服務器之前驗證?AJAX腳本 - 功能和AJAX驗證上傳內容前對服務器

像這樣的事情是錯誤的,我認爲。

function validateBefore(Key, mySize, md5CheckSum) { 
    var valContent = {}; 
    valContent.Key = Key; 
    if (mySize) 
     valContent.mySize= mySize; 
    if (md5CheckSum) 
     valContent.md5CheckSum= md5CheckSum; 
    $.ajax({ 
     ... ??????? 
    }); 
}; 

感謝

+0

「我不知道,如果這些內容會不會驗證之前的內容將被上傳到服務器? ??」 你能重新說這個嗎?這不是一個問題,很難推斷你的問題是什麼。 – nicholaides 2012-03-04 22:01:26

+0

你的問題是什麼。如果你想在js函數中使用ajax,那麼JQUERY是JS庫就沒問題。 – 2012-03-04 22:02:33

+1

是的,它可以在上傳到服務器之前進行驗證,但除非使用某種插件,否則您將需要一些比該函數更復雜的插件。但是它也必須在服務器上進行驗證,如果它來自客戶端上的任何東西,比如JavaScript在瀏覽器中運行,因爲只需要兩分鐘就可以繞過只有JS的一小部分知道的任何人的驗證。 – adeneo 2012-03-04 22:21:32

回答

1

最好是驗證服務器上側的形式或數據,因爲客戶端驗證可以容易地防止。如果你想驗證在客戶端則防止形式或數據被張貼到像它的驗證:

$(document).ready(function() { 
    $("#some_form").submit(function(event) 
    { 
     key = $('#key').val() 
     mySize = $('#mySize').val() 
     md5CheckSum = $('#md5CheckSum').val() 

     if(key == 'xyz' && mySize == 'xyz' && md5CheckSum == 'xyz') 
     { 
      $.ajax({ 
       ... ??????? 
      }); 
     } 
     else 
     { 
      event.preventDefault(); 
      // SHOW ERROR IN HTML LIKE: document.getElementById("error_key").innerHTML = 'some error'; 
     }   
    });  
}); 
+0

是的,但是你寫的代碼會很容易被用戶閱讀。不會是最好的PHP代碼? – 2012-03-07 20:05:20