【问题标题】:External Ajax Call in Sharepoint 2013: Access is DeniedSharepoint 2013 中的外部 Ajax 调用:访问被拒绝
【发布时间】:2014-05-26 03:43:39
【问题描述】:

所以,我正在尝试制作一个极其简单的共享点应用程序。我只想在共享点页面标题中加载一个已经构建和托管的 Web 应用程序。

因此,目标是简单地从备用页面加载 Html,并将其放置在 Sharepoint 应用程序 Default.aspx 上的 div 中。这与我们将另一个外部项目拉入非共享点 Web 应用程序的方式相同,完全没有任何困难。

所以,我进行了以下 ajax 调用:

$.ajax(
        {
            type: "GET",
            url: "http://PageIWantToLoad/default.aspx",
            dataType: "html",
            success: function (result) {
                $("#pageContainer").html(result);
            },
            error: function (jqXHR, textStatus, errorThrown) {
                alert("oops");
            }

    });

但是,我收到拒绝访问错误。

我检查了一些类似的 StackOverflow 和其他在线帮助请求,但它们似乎都在处理更复杂的系统/情况。

任何帮助将不胜感激。

【问题讨论】:

    标签: ajax sharepoint sharepoint-2013 access-denied


    【解决方案1】:

    考虑这篇文章:http://msdn.microsoft.com/en-us/library/jj164022.aspx。 如果您想从 SharePoint 发出 javascript 请求,您需要使用 Sharepoint 跨域库。 这是我从 SharePoint 本身请求 SharePoint 2013 REST 服务的示例。 我使用了 Script on Demand 库和 mQuery(SharePoint 内置的 jQuery 模拟)。 还有 SP.RequestExecutor - 这是跨域 SharePoint 库。

    SP.SOD.executeFunc('mQuery.js', 'm$', function() {
    m$.ready(function() { 
        SP.SOD.registerSod('sp.requestexecutor.js',
            '/_layouts/15/sp.requestexecutor.js');
        SP.SOD.executeFunc('sp.requestexecutor.js', 
            'SP.RequestExecutor', 
        function() {
            var targetSiteUrl = "http://mySiteUrl";
        var targetUrl = "http://mySiteUrl/_api/web/lists/getByTitle('myListTitle')/items(1)";
    var re = new SP.RequestExecutor(targetSiteUrl);
    re.executeAsync({
        url: targetUrl,
        headers: { "Accept": "application/json; odata=verbose" },
        method: 'GET',
        success:function(response) {
            var jsonObject = JSON.parse(response.body);
                }
            });
        });
    })});
    

    关键是RequestExecutor。 如果您想从外部资源向 SharePoint 请求 - 您将需要 accessToken。 希望这会有所帮助。

    【讨论】:

    • 能否请您详细解释一下 mquery
    • @Mihir mQuery - 这是一个内置的 SharePoint js 库。它类似于 jQuery,但有一些限制。有一篇很棒的关于 mQuery 的博客:spdevlab.com/2013/07/01/…
    猜你喜欢
    • 2014-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多