2011-04-15 41 views
0

只是一個簡單的問題(我認爲)。如何從AJAX調用中返回變量?

看一看在這個小提琴代碼:http://jsfiddle.net/d9wdM/1/

我做的是建立一個網站作爲一個個人項目,它可以讓用戶輸入姓名和E-mail地址的任何款項,一旦提交表單,從名稱中選擇一個隨機名稱,並將電子郵件發送給該人員,並將其名稱輸出到該頁面上。

我可以得到AJAX調用工作,但我不知道怎麼名稱變量傳遞迴從process.php到index.php因爲所有可以返回一個1

我希望這是感覺,如果它不請讓我知道,我會盡量讓它更清晰。再次

感謝,

馬丁

+0

從我可以告訴,你在做什麼是正確的..我不明白的是爲什麼你只能得到從1你的process.php ..每個「回聲」都應該返回給你的ajax的onSuccess處理程序。 – 2011-04-15 09:54:21

+0

真的嗎?我一直認爲你只能從ajax請求中迴應一件事情?也許我很誤導那麼。只是,如果我回復其他任何內容,則會返回錯誤,就好像返回0一樣。 – martincarlin87 2011-04-15 09:57:42

+0

對不起,我的錯誤 - 自從我使用PHP以來太久了。是的,你只能回聲1丁 - 但它可以是任何... HTML,JSON,無論你可以在你的要求的兩端處理.. – 2011-04-15 09:59:06

回答

0

設法解決它,改變了Ajax調用:

<script type="text/javascript"> 
    $(function() { 
     $('.tearoundform').submit(function() 
     { 
      var query = $(this).serialize(); 
      $('#form_results').fadeOut(500).addClass('ajax-loading'); 
      $.ajax({ 
       type: "GET", 
       url: "process.php", 
       data: query, 
       success: function(data) 
       { 
         $('#form_results').removeClass('ajax-loading').html(data).fadeIn(500); 
       } 
      }); 
     return false; 
     }); 
    }); 
</script>` 
0

在你的Ajax代碼,您將可以misssing的dataType這意味着你期待從服務器返回的數據的類型。

所以在你的情況下,你可以將dataType設置爲html,並從服務器提供html。 This會幫助你。

0

我會建議ü一件事如果u想從AJAX頁面回報的東西,然後必須使用的dataType = 'JSON'

process.php上指數

再次使用json_encode(array('returnData'=>1)) .PHPü可以使用json_decode()

Reference
dataType='json'

+0

一個好的Tutorails是[這裏](http://www.phpriot。 com/articles/php-json-jquery-ajax-screencast) – diEcho 2011-04-15 10:06:14

+0

感謝所有人,但我開始感到有點困惑,對於蠢事感到抱歉!我現在在process.php中有'echo json_encode(array('returnData'=> 1)) echo「

$nominee
」; echo $ result; '在JS文件'dataType:'json'中,沒有新增加到index.php頁面。 我想如果我可以解決這個問題,那麼我將知道更多關於AJAX的內容 – martincarlin87 2011-04-15 10:11:35

+0

@ martincarlin87 **注意:**你寫'echo json_encode()'的頁面(在你的情況下,它是'process.php' )嚴格地不向瀏覽器發送任何東西。意味着在process.php中沒有**回顯**沒有'print'等。bcoz頁面進入'ajax'的過程 – diEcho 2011-04-15 10:14:28