我创建了VS项目 - Sharepoint add in(sharepoint-hosted)。我试图从js ajax调用sp rest api,代码如下。
$.ajax({
url: "http://MYSITE/_api/web/lists/getbytitle('Kontrahenci')/items",
method: "GET",
headers: {
"Accept": "application/json; odata=verbose",
"Access-Control-Allow-Origin": "*"
},
crossDomain: true,
xhrFields: { withCredentials: true },
success: function (data) {
var results = data.d.results;
for (var i = 0; i < data.d.results.length; i++) {
console.log(data.d.results[i].Title);
}
},
error: function (error) {
console.log(error);
}
})
但我无法做到这一点,我总是得到错误:
XMLHttpRequest无法加载 http://MYSITE/_api/web/lists/getbytitle(&#39; Kontrahenci&#39;)/项目。 对预检请求的响应没有通过访问控制检查:否 &#39;访问控制允许来源&#39;标题出现在请求的上 资源。起源 &#39; http://app-802ce2286e9d83.MYSITE&#39;因此 不允许访问。响应的HTTP状态代码为401。
Ofc MYSITE =我的网址。
我可以通过浏览器从ajax连接到url,并在获取数据后授权(登录,来自sharepoint的密码)。
我还添加了列表的app.manifest权限(在构建应用程序时读取,选择列表)和完全控制Web。
当我启用chrome时,它会起作用:
&#34; C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe&#34; --disable-web-security --user-data-dir =&#34; D:\ chrome&#34;
但它不能解决这个问题。