0

私はjQueryを使用して、フォームが表示されているページを離れずにフォームを投稿しています。フォームが POST される PHP ページは電子メールを送信し、成功の場合は '1'、失敗の場合は '0' を返します。

その PHP ページの内容 ('1' または '0') を取得し、フォームのあるページ (POST 後も表示されるページ) のアラート ボックスに表示したいと考えています。

私はこれを試しました:

$(document).ready(function(){
  var $form = $('#confirmationForm');
  $form.submit(function(){                
    $.post($(this).attr('action'), $(this).serialize(), function(response){
      alert(response);
    },'json');
    return false;
  });
});

フォームは問題なく POST され、PHP スクリプトは通常どおり機能します (電子メールは送信されます) が、応答は表示されません。

4

1 に答える 1

3

PHPスクリプトからの応答をエコーする必要があり、完了です

例えば

 if(mysql_query($query))
        $response_array['status'] = 'success';  
    else 
        $response_array['status'] = 'error';
header('Content-type: application/json');
    echo json_encode($response_array);

?> 

クライアント側

success: function(data) {
      if(data.status == 'success')
          alert("Thank you you succeeded");
      else if(data.status == 'error')
          alert("Oops there was an error!");
    },

あなたが私の主張を理解してくれることを願っています。

乾杯!!!

于 2013-09-16T12:07:16.540 に答える