0

返されたデータ値に基づいてフォームを検証したいのですが、ポスト関数全体を false にしない限り、false は返されません。どの条件が満たされたかに基づいて返される方法を区別することは可能ですか? これは私が持っているものです:

function postValidation(){

   $.post('file.php',$('#form').serialize(), function(data) {

      if(data !== 'good') {
             alert(data);
             return false;
          }  else

            if(data  == 'good') 
            {return true;}
   });

}
4

1 に答える 1

2

あなたがやりたいことはそれ自体では不可能です。ajaxコールバックからの戻り値を使用することはできません。すべては、コールバック自体(または依存するコールバック)内で実行する必要があります。

$("#form").on('submit', function (e) {
    //stop form from submitting
    postValidation();
    e.preventDefault();
});

function postValidation () {
   $.post(...).done(function (data) {
       if (data === 'good') {
           //handle form success; do whatever you want
           window.location.reload();
       }
   });
}
于 2013-01-30T19:27:08.173 に答える