我使用jQuery ajax将REST POST请求从javascript发送到eXist数据库。在eXist db中,我创建了一个名为"test“的集合,现在我从html页面获取输入并将其转换为XML,然后通过POST请求发送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>但是,如果我提交表单,它会出现如下错误
"Unknown+XML+root+element%3A+Configuration“
这是什么错误?如何在db中存储此xml?请回答。提前谢谢。
发布于 2012-05-21 18:52:25
您在中缺少>
stringText+="\n<Type>"+Type+"</Type\n</Configuration>";https://stackoverflow.com/questions/10683729
复制相似问题