【问题标题】:Is it possible to post multiple xml documents?是否可以发布多个 xml 文档?
【发布时间】:2015-08-29 01:25:10
【问题描述】:

这行得通:

$.ajax({
     url: url,
     type: "POST",
     contentType: "text/xml",
     processData: false,
     data: xmlDoc1
 });

但我希望能够做这样的事情:

$.ajax({
     url: url,
     type: "POST",
     contentType: "text/xml",
     processData: false,
     data: [ xmlDoc1, xmlDoc2 ]
 });

【问题讨论】:

  • 您可以自己连接两个文档。这意味着您的服务器将准备好从一个源文件中解析两个 XML 文档,这并非不可能,但很多 XML 解析器都不会这样做。
  • @Pointy 我在服务器端使用 c#。你知道有这个功能的 xml 解析器吗?
  • 使用下面答案中的方法,您可以将两个文档作为独立的参数,因此您可以更轻松地(也许)提取它们并单独解析它们。问题在于 XML 是一种 document 语法,两个相邻的文档不构成一个“文档”。

标签: javascript jquery ajax post


【解决方案1】:

只需传递一个包含这两个文件的对象:

$.ajax({
     url: url,
     type: "POST",
     data: {
         xml1: xmlDoc1,
         xml2: xmlDoc2 
     }
 });

为了澄清,正如@Pointy 在 cmets 中所说,两个文档都需要是字符串。

【讨论】:

  • 你不能这样做。您应该删除您的答案,因为它可能会使某人感到困惑。
  • 当然可以@T.Holland
  • @T.Holland 你是什么意思?你当然可以做到这一点。 edit 好吧,如果那些“xmlDoc”是字符串,你可以。如果不是,那么无论如何您都需要先将它们设为字符串。
  • @Pointy 当你像数据一样发送请求时,请求的主体看起来像这样 [object Object]:{xml1: xmlDoc1}
  • 你用 jQuery 发帖,对吧? jQuery 会将“数据”属性转换为查询字符串。如果这些文档引用是对已解析 DOM 节点的引用,则需要先将它们转换为字符串。
猜你喜欢
  • 2020-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-07
  • 1970-01-01
  • 2013-06-01
  • 2011-08-15
相关资源
最近更新 更多