我正在学习sharepoint 2013以获取所需的传入项目。我从未使用.net或任何其他ms技术,所以如果答案是愚蠢的证据,我将不胜感激。
我有一台运行sharepoint 2013和iis v8.0的服务器 目前我遇到了一些问题,但主要的是我试图从角度应用程序访问api服务。我将Intranet的映射设置为服务器的ip,我可以通过Web浏览器访问api。
我还将http响应标头设置为“Access-Control-Allow-Origin”:*在iis中。但是,当我尝试使用angular $ http对象访问api时,我收到一条消息,指出XMLHttpRequest无法加载http://x.x.x.x/_api/web。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许Origin'http:// localhost:9000'访问。响应的HTTP状态代码为401。
这个想法是角度应用完全独立于sharepoint和任何.net技术。我想要做的就是使用其余的api来获取/编辑数据。 我正在提出的要求如下:
angular.module('angYeoman2App')
.factory('SharePointJSOMFactory', function SharePointJSOMFactory($http, $q) {
var deffered = $q.defer();
var data = [];
var myService = {};
SharePointJSOMFactory.getTasksRESTAppWeb = function() {
var restQueryUrl = "http://x.x.x.x/_api/web";
$http({
headers: { 'Accept': 'application/json; odata=verbose' },
method: 'GET',
url: restQueryUrl
})
.success(function(data, status, headers, config){
console.log(data);
deffered.resolve();
})
.error(function(data, status, headers, config){
console.log('error', data)
deffered.resolve();
});
return deffered.promise;
};
SharePointJSOMFactory.data = function() {
return data;
};
return SharePointJSOMFactory;
});
知道我做错了什么吗?我已经读过我需要添加<%Response.AddHeader(“Access-Control-Allow-Origin”,“*”)%>在某个地方,但我不知道什么文件。
我还有另一个问题(此时不太相关):当我尝试使用ip地址访问子网站时,似乎它正在应用父级的主题,并且它不会加载子网站的内容。知道为什么吗?
欢迎任何帮助。 Tks适合您的时间,祝您度过愉快的一天。