1

こんにちは私はjQuery/ajaxの操作方法を学んでいます。問題が発生しているようです。フォームデータを投稿しようとすると、サーバーからhtml構造全体と返されるデータが返されます。

これは私のhtmlです:

   ....
   <form id="submitData" method="post" action="">
        <div>
            <label for="FirstName">First Name:</label>
            <input type="text" id="FirstName" name="FirstName"/><span class="error">*</span>
        </div>
        ........
        <div id="textearea">
            <label for="Message">Message:</label>
            <textarea name="Message"></textarea><span class="error">*</span>
        </div>
        <input type="submit" id="submit" name="submit" value="Submit"/>
    </form>
    .....

これは私のphpコードです:

<?php
      if(isset($_POST['data'])){
          $jsonData = json_encode($_POST['data']);

          return $jsonData;
      }
   ?>

そしてこれは私のjQueryコードです:

$(document).on('submit' , 'form#submitData' , function(e){

     var formData = $(this).serializeArray();
     console.log(formData);

     $.ajax({
         url:'index.php',
         type:'POST',
         datatype:'json',
         data: { data : formData},
         success : function(data){
             for(var i = 0; i < data.length; i++){
                 console.log(data);

             }
         },
         error : function(s , i , error){
             console.log(error);
         }
     })
     e.preventDefault();
 });

ループでデータにアクセスしようとしましたが、html構造から文字が返されているようです。また、フォームのhtmlがjquery load()を使用してページに読み込まれることにも言及する必要があります。

エンコードされたデータのみを元に戻すにはどうすればよいですか?

4

1 に答える 1

2

別のPHPページから入手してください:

$(document).on('submit' , 'form#submitData' , function(e){

     var formData = $(this).serializeArray();
     console.log(formData);

     $.ajax({
         // change here
         url:'ajax.php',
         type:'POST',
         datatype:'json',
         data: { data : formData},
         success : function(data){
             for(var i = 0; i < data.length; i++){
                 console.log(data);

             }
         },
         error : function(s , i , error){
             console.log(error);
         }
     })
     e.preventDefault();
 });

PHPコードをそこに置きます。

于 2013-01-15T18:29:33.303 に答える