我在exists-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根元素:数据)
如果&#34;得到&#34;使用方法代替,一切都很好,只要文件足够小 - 如果我尝试使用方法加载更大的文件=&#34;得到&#34;最初它已加载,但在加载一次并尝试重新加载后,我收到错误&#34; 414(Request-URI太长)&#34;。我搜索了一个答案,建议是在这种情况下,正确的方法是使用&#34; post&#34;。我是xforms的新手,显然我做错了,所以我需要帮助来完成这项工作...... 提前谢谢!
答案 0 :(得分:2)
在处理提交问题时,使用浏览器调试器来检查发送的内容和收到的内容是很有趣的。
GET方法显然是用于获取文件内容的方法,而PUT和POST则用于将内容推送到文件中。
默认情况下,默认实例序列化为GET参数。我认为这是URI太长警报的原因。由于您只想获取文件内容,是否可以再次尝试将“序列化”属性设置为“无”?