我正在尝试获取http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/people
所以我写了这段代码:
<p id="liste"></p>
<script>
var people = new XMLHttpRequest();
people.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
obj = JSON.parse(this.responseText);
document.getElementById("liste").innerHTML = objet.list.entries[0].entry.firstName + objet.list.entries[0].entry.lastName + "<br/>" + objet.list.entries[boucle].entry.email;
}
};
people.open('GET', 'http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/people', true, 'admin', 'admin');
people.send();
</script>
但这给了我一个401错误的身份验证。此外,当我手动链接时,我会获得正常的登录弹出窗口,我可以使用admin / admin登录并获取预期的字符串。
由于我的XMLHttpRequest,以下是我得到的两个控制台错误:
localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/people Failed to load resource: the server responded with a status of 401 (Unauthorized)
new-page:1 XMLHttpRequest cannot load http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/people. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8081' is therefore not allowed access. The response had HTTP status code 401.
目前,为了继续我的开发,我在我的代码中手动复制了字符串,因为我无法找到问题的来源,但它不是真正的解决方案...所以,如果有人知道我怎么能解决我的问题问题我不能感谢他/她!
如果您没有更多详细信息,可以找到错误here的文档。
P.S:这是我为Alfresco Share创建的页面(.ftl)。我有一个在Maven上运行的露天实例,在这个Share的实例上运行8080,也是在8081上运行的maven生成的。所以我可能需要在xml中添加定义页面的东西吗?
答案 0 :(得分:0)
如果您在共享页面中,那么在下面的帮助下,您可以获得所有用户。
<script>
Alfresco.util.Ajax.jsonGet({
url : Alfresco.constants.PROXY_URI + "api/people",
successCallback : {
fn : function(res) {
var results = Alfresco.util.parseJSON(res.serverResponse.responseText);
console.log(results.people[0].firstName);
},
scope : this,
},
failureCallback : {
fn : function() {
},
scope : this
}
});
</script>