2011-05-02 104 views
0

大家好,我可能會這樣做的方式都是錯誤的,所以任何想法都會很棒。自動提交表單,將XML返回到下一頁,然後自動使用XML數據提交新表單

目前我有一個表單,它將用戶輸入的數據格式化爲XML格式,將該XML文件放入textarea中,並自動使用document.insert.submit()提交它。到這個parse.php文件。

我不知道parse.php文件如何處理數據,但知道它給我返回一個XML字符串,如果我餵它一些XML。

我想獲得這個XML數據返回到一個字符串或變量我可以分開,並採取某些參數。

我已經看過.ajax()jquery,但不知道如何提交這個表單,並從我的數據中返回一個變量。

我怎樣才能得到這個正在返回的XML?

謝謝!

+0

我無法使用JSON,它在服務器上不受支持。 PHP 4.x.x. – jasonflaherty 2011-05-02 20:21:51

+0

XML很麻煩。試着用google搜索一下,有人肯定在純PHP中寫了一個JSON序列化實現。 – 2011-05-02 20:25:18

+0

在我發現json_encode和json_decode之前,我已經使用了[this one](http://hotblocks.nl/js/inc.cls.json.php.txt)。 – Rudie 2011-05-02 20:46:24

回答

0

就在這個腳本添加到您的網頁:

<script> 
    $(document).ready(function(){ 
     var $form = $(document.insert); 
     $form.submit(function(){ 
      $.ajax({ 
       type: $form.attr("method") || 'get', 
       url: $form.attr("action"), 
       data: $form.serialize(), 
       dataType: 'text', //Disables xml autoparsing 
       success: function(xml){ 
       //Now you have server response in the 'xml' var 
       alert('Xml returned by server: ' + xml); 
       } 
      }); 
      return false; //Cancel normal submission 
     }); 
    }); 
</script> 

,然後嘗試提交表單。您將從服務器獲取xml。 希望這有助於。乾杯

+0

嗨,埃德加,我得到的頁面提交的XML,但不是返回的XML?我的表單動作調用feedback.php,它接受我的textarea數據並將變量放入XML字符串中,然後通過我的autosubmit表單提交給parse.php。 Parse.php是我想要返回的XML字符串的位置。有沒有辦法返回parse.php上的內容? – jasonflaherty 2011-05-02 22:10:42

+0

嗨,我終於得到了答覆...我沒有注意到這一點,但這是從一個域到另一個域,而且這個AJAX請求不能以我收集的這種方式工作。所以我使用[Cross Domain AJAX](https://github.com/jamespadolsey/jQuery-Plugins/tree/master/cross-domain-ajax)腳本。我得到了第一個響應作爲[對象對象]。現在,我不知道該做什麼或說什麼,但至少這是一個迴應。任何其他的想法將不勝感激。謝謝:) – jasonflaherty 2011-05-03 20:23:48

+0

如果你有firefox的firefox,你可以做一個'console.log(response);'來獲得更多的響應信息。如果你想使用alert,這會給你更多的信息:'alert(JSON.stringify(response));' – 2011-05-03 21:34:37