我在exist-db服务器上使用XSLTforms,并且我试图加载一个带有method="post“的文件,但没有任何结果。下面是该模型的一个示例:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xf="http://www.w3.org/2002/xforms">
<head>
<xf:model>
<xf:instance xmlns="" id="default">
<data>
<x>
<a></a>
<b></b>
<c></c>
</x>
</data>
</xf:instance>
<xf:submission id="read-from-file" method="post" replace="instance" instance="default">
<xf:resource value="'../data/test.xml'"></xf:resource>
</xf:submission>
</xf:model>
</head>下面是我要提交的test.xml:
<data>
<x>
<a>test</a>
<b>test</b>
<c>test</c>
</x>
</data>当我触发提交时,我会得到错误:
xsltforms.js:8115 POST ./data/test.xml 400 (未知XML元素: data)
如果使用" get“方法,那么一切都很好,只要文件足够小--如果我尝试用method=加载一个更大的文件,”get“一开始就会加载它,但是在加载一次并尝试重新加载它之后,我会得到错误"414 (请求-URI太长)”。我寻找答案,建议是,在这种情况下,正确的方式是使用"post“。我是xform的新手,显然我做错了什么,所以我需要帮助.提前谢谢你!
发布于 2016-03-28 14:14:13
在处理提交问题时,使用浏览器调试器来检查发送的内容和接收的内容是很有趣的。
GET方法显然是用来获取文件内容的方法,而PUT和POST则是用来将内容推入文件的方法。
默认情况下,默认实例被序列化为GET参数。我认为这就是URI时间过长的原因。既然您只想获得一个文件内容,那么请将“序列化”属性设置为"none“,然后再试一次吗?
https://stackoverflow.com/questions/36263529
复制相似问题