jQuery ajaxを使用してjavascriptからeXist dbにREST POSTリクエストを送信しています。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>
しかし、フォームを送信すると、次のようなエラーが発生します
"不明な + XML + ルート + 要素 %3A + 構成"
このエラーは何ですか? このxmlをdbに保存するにはどうすればよいですか? お答えください。前もって感謝します。