XMLHttpRequest

时间:2017-05-31 08:16:54

标签: javascript xmlhttprequest alfresco alfresco-share alfresco-maven

我正在尝试获取http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/people

给出的JSON字符串

所以我写了这段代码:

<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中添加定义页面的东西吗?

1 个答案:

答案 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>