2011-05-02 112 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