我正在使用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中? 请回答。 提前谢谢。
答案 0 :(得分:1)
你错过了&gt;在
stringText+="\n<Type>"+Type+"</Type\n</Configuration>";