3

私はphpとajaxが初めてで、ajaxを介してphpフォームデータを送信し(更新なしで)、ajax成功を介してアラートボックスにphpのエコーメッセージを表示しようとしていますが、うまくいきませんでした。コードは次のようになります。

jQuery(document).ready(function(){
        jQuery('#ajax_form').submit(function(){
            var dados = jQuery( this ).serialize();

            jQuery.ajax({
                type: "POST",
                url: "env.php",
                data: dados,
                success: function( data )
                {
                    alert( data );
                }
            });

            return false;
        });
    });

php エコー応答 (送信とエラー):

 $erros = "";

 if(empty($_POST['nome'])){
     $erros .= "O nome deve ser preenchido.";
 }

 if(empty($_POST['email']) ){
      $erros .= "O E-mail deve ser preenchido.";
 }else{
      $email = $_POST['email'];
      eregi("([\._0-9A-Za-z-]+)@([0-9A-Za-z-]+)(\.[0-9A-Za-z\.]+)",$email,$match);
    if(!isset($match)){
       $erros .= "O e-mail informado é inválido.";
    }
}

if(empty($_POST['mensagem'])){
    $erros .= "A mensagem deve ser preenchida.";
}
if( empty($erros) ){

all the code to get form data and send

 $send = $phpmail->Send();

    if($send){
        echo "A Mensagem foi enviada com sucesso.";
    }else{
        echo "Não foi possível enviar a mensagem. Erro: " .$phpmail->ErrorInfo;
    }

    }else{
        echo $erros;
    }

env.php のエコー メッセージをアラートに表示したいのですが、方法がわかりません。誰でも私を助けてもらえますか?

ps: フォームは .html にあり、php は .php にあります

編集:

追加しようとしましたが、機能しません。成功し$json = json_encode($erros);た ajax 関数でこれを読み取るにはどうすればよいですか? (アラート ボックスで)


$json = json_encode($erros); を追加しようとしました。しかし、それは機能しません。成功した ajax 関数でこれを読み取るにはどうすればよいですか? (アラート ボックスで)

4

2 に答える 2

0

これをしてください、私の友人:

jQuery(document).ready(function(){
        jQuery('#ajax_form').submit(function(){
            var dados = jQuery( this ).serialize();

            jQuery.ajax({
                type: "POST",
                url: "env.php",
                data: dados,
                success: function( data )
                {
                    var data_output = data;
                    alert(data_output);
                }
            });

            return false;
        });
    });
于 2016-04-20T10:55:58.307 に答える
0

env.phpページ全体ではなく、必要なデータのみで AJAX 呼び出しに応答する必要があります。env.phpあなたがしなければならないのは、必要のないすべての HTML 要素を持たないように変更することだけです。

于 2012-10-02T02:27:44.187 に答える