Sharepoint 2013中的外部Ajax调用:访问被拒绝
因此,我正在尝试制作一个非常简单的sharepoint应用程序。我只想在sharepoint页面标题中加载一个已经构建和托管的web应用程序 因此,我们的目标是从备用页面加载Html,并将其放在Sharepoint应用程序的Default.aspx上的div中。这与我们将另一个外部项目引入非sharepoint web应用程序的方式相同,完全没有任何困难 因此,我进行了以下ajax调用:Sharepoint 2013中的外部Ajax调用:访问被拒绝,ajax,sharepoint,sharepoint-2013,access-denied,Ajax,Sharepoint,Sharepoint 2013,Access Denied,因此,我正在尝试制作一个非常简单的sharepoint应用程序。我只想在sharepoint页面标题中加载一个已经构建和托管的web应用程序 因此,我们的目标是从备用页面加载Html,并将其放在Sharepoint应用程序的Default.aspx上的div中。这与我们将另一个外部项目引入非sharepoint web应用程序的方式相同,完全没有任何困难 因此,我进行了以下ajax调用: $.ajax( { type: "GET",
$.ajax(
{
type: "GET",
url: "http://PageIWantToLoad/default.aspx",
dataType: "html",
success: function (result) {
$("#pageContainer").html(result);
},
error: function (jqXHR, textStatus, errorThrown) {
alert("oops");
}
});
但是,我得到一个访问被拒绝的错误
我已经检查了一些类似的StackOverflow和其他在线帮助请求,但它们似乎都在处理更复杂的系统/情况
任何帮助都将不胜感激。请考虑本文:。
如果希望从Sharepoint发出javascript请求,则需要使用Sharepoint跨域库。
下面是我从SharePoint本身请求SharePoint 2013 REST服务的示例。
我使用了按需脚本库和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@MihirmQuery-它是一个内置的SharePoint js库。它类似于jQuery,但有一些限制。关于mQuery有一个很棒的博客: