3

そのフォームを投稿すると、2つのフィールドを持つphpファイル(index.php)があり、javascriptでフォームデータをシリアル化し、ajaxを介して次のphpページ(results.php)に送信します。成功内のデータを印刷しようとすると、印刷されません。以下のコードを見つけます。

<html>
<head>
    <title></title>
    <script src="../scripts/jquery-1.9.1.js"></script>
</head>
<body>
    <form method="post" name="index" id="indexform">
        <table border="1">
            <tr>
                <td>Name:</td>
                <td><input type="text" name="fname"></td>
            </tr>
            <tr>
                <td>Email:</td>
                <td><input type="text" name="email"></td>
            </tr>
            <tr>
                <td colspan="2"><input type="submit" name="sendData"></td>
            </tr>
        </table>
    </form>
</body>
<script type="text/javascript">
    $( "#indexform" ).on( "submit", function( event ) {
          event.preventDefault();
          console.log( $(this).serialize() );
          var formdata = $(this).serialize();
         // alert(formdata);
          $.ajax({
                type:"POST",
                url:"result.php",
                dataType:'json',
                data:formdata,
                success: function(data){
                    alert(data);
                }
          });
        });
    </script>

上記では、成功コールバック内のデータを出力できません。

4

4 に答える 4

4

これを試して

<script type="text/javascript">
        $( "#indexform" ).on( "submit", function( event ) {
              event.preventDefault();
              console.log( $(this).serialize() );
              var formdata = $(this).serialize();
              $.ajax({
                    type:"POST",
                    url:"result.php",
                    data:formdata,
                    success: function(html){
                        alert(html);
                    }
              });
            });
        </script>

あなたのresult.phpページで

 $name=$_REQUEST['fname'];
    $email=$_REQUEST['email'];
    echo $name." ".$email;
于 2013-08-07T04:59:57.303 に答える
2

を に設定しdataTypejsonいるため、有効な json のみを返すようにする必要があります。

つまり、できないecho、またはprint何でもしたいということです。配列またはオブジェクトでデータを収集し、次のような出力を一度だけ行う必要があります。

echo json_encode($your_data);
于 2013-08-07T04:53:07.583 に答える
0

Hello My Friends あなたの html コードは

<script type="text/javascript">
    $( "#indexform" ).on( "submit", function( event ) {
          event.preventDefault();
          console.log( $(this).serialize() );
          var formdata = $(this).serialize();
         // alert(formdata);
          $.ajax({
                type:"POST",
                url:"result.php",
                dataType:'json',
                data:formdata,
                success: function(data){
                    alert(data);
                }
          });
        });
    </script>

あなたはresult.phpファイルのコードが

<?php
    include 'db.php';
    $name=$_REQUEST['fname'];
    $email=$_REQUEST['email'];
    echo $name." ".$email;
?>

ここで、result.php ファイルは、入力された名前と電子メール アドレスを返します。

于 2013-08-07T05:08:06.163 に答える
0

results.php ページ内のコンテンツをエコーし​​ます。

元:

echo "two fields $first_field , $second_field  successfully inserted. " ;

このコンテンツは ajax レスポンスとして返され、 data 変数に格納されます。

于 2013-08-07T04:51:19.250 に答える