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 回答