0

我正在尝试获取由给出的 JSON 字符串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.

目前,为了继续我的开发,我在我的代码中手动复制了字符串,因为我找不到问题出在哪里,但这并不是真正的解决方案......所以如果有人知道我如何解决我的问题,我可以不够感谢他/她!

如果您不想了解更多详细信息,您将在此处找到错误的文档。

PS:这是在我为 Alfresco Share 创建的页面(.ftl)上。我有一个使用在端口 8080 上运行的 Maven 生成的露天实例,在这个 Share 实例上也使用运行在 8081 上的 maven 生成。所以也许我必须在定义页面的 xml 中添加一些东西?

4

1 回答 1

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>
于 2017-09-13T12:58:41.603 回答