我是AngularJS的新手。现在我尝试通过AngularJS的REST API在eXist-db数据库中插入xml数据。我的文档包含这样的内容:
<students>
<student>
<id>1</id>
<name>one</name>
</student>
<student>
<id>2</id>
<name>two</name>
</student>
</students>
我想在这两个学生之后插入一个学生:
<students>
<student>
<id>1</id>
<name>one</name>
</student>
<student>
<id>2</id>
<name>two</name>
</student>
<student>
<id>3</id>
<name>three</name>
</student>
</students>
我在Postman客户端中使用POST请求进行测试,其工作方式如下图所示: URL is http://localhost:9999/exist/rest/db/data/studentdata.xml, Content-Type is application/x-www-form-urlencoded
之后我尝试在AngularJS中使用$ http:
$scope.saveData = function(){
var req={
method:'POST',
url:'http://localhost:9999/exist/rest/db/data/studentdata.xml',
header:{
'Authorization':'Basic YWRtaW46MTIzNDU2',
'Content-Type':'application/x-www-form-urlencoded'
},
data:{_query:'update insert <student><id>3</id><name>three</name></student> into //students'}
};
$http(req).then(function(response){
alert("save finish");
});
}//end function
但它有错误400(解析请求时出现SAX异常:prolog中不允许使用内容)。
你能告诉我这是什么问题吗?我该如何解决这个错误?非常感谢你。
答案 0 :(得分:0)
现在我可以使用此代码运行它(没有任何错误)。
var promise = $http({
method:'POST',
url: 'http://localhost:9999/exist/rest/db/data/studentdata.xml',
headers: {'Authorization': 'Basic YWRtaW46MTIzNDU2','Content-Type':'application/x-www-form-urlencoded'},
data:'_query=update insert <student><id>3</id><name>three</name></student> into //students'
});
promise.success(function(data){
alert("successful");
});