我正在使用 jQuery ajax 从 javascript 向 eXist db 发送 REST POST 请求。在 eXist db 中,我创建了一个名为“test”的集合,现在我从 html 页面获取输入并在通过 POST 请求发送 XML 之后将它们转换为 XML。
这是我的示例代码
<HTML>
<body> <script type="text/javascript" src="../jquery-1.7.2.js"></script>
<script type="text/javascript" >
function OnSubmitForm()
{
var Ip = document.myForm.ip.value;
var Type = document.myForm.type.value;
if(!((Ip=="" )|| (Ip==null)))
{
var re = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
var stringText="<?xml version='1.0' encoding='utf-8'?> ";
stringText+="\n<Configuration>\n<IP>"+Ip+"</IP>";
stringText+="\n<Type>"+Type+"</Type>\n</Configuration>";
var url = "http://localhost/exist/rest//db/test/";
var ajax = new XMLHttpRequest();
jQuery.support.cors = true;
$.ajax({
url: url ,
async: false,
type: 'POST',
contentType: "application/xml",
username: 'admin',
password:'' ,
data: stringText,
success: function(msg)
{
alert(msg);
},
error: function(request, msg, error)
{
alert(error);
}
});
return true;
}
};
</script>
<form name="myForm" onsubmit="return OnSubmitForm();">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td align="right">IP or IP's</td>
<td><input type="text" name="ip" /></td>
</tr>
<tr>
<td align="right">Type</td>
<td><input type="text" name="type" /></td>
</tr>
<tr>
<td align="right"></td>
<td><input type="submit" value="Submit" /></td>
</tr>
</table>
</form>
</body>
</HTML>
但是,如果我提交表单,它会给出错误,例如
“未知+XML+根+元素%3A+配置”
这是什么错误?我怎样才能将这个xml存储在db中?请回答。提前致谢。