【发布时间】:2014-09-14 06:29:09
【问题描述】:
我已经构建了一个 SharePoint 应用程序,它使用 Jquery 调用 IIS 中托管的 Web 服务。
该应用程序将托管在 SharePoint 域下的 SharePoint Server 专用
https://qsspapp-3b9352b780820d.qsapps.com/teams/...
我的电话如下所示
private loadStates() {
$.support.cors = true;
$.ajax({
type: "GET",
cache: false,
crossDomain:true,
url: "http://myservice.de/api/controller/getavailablestates",
success: (results) => {
console.log(results.Data);
this.availableStates.removeAll();
$.each(results.Data, (indexedDB, item: TableResultItem) => {
this.availableStates.push(new DataObjects.SelectionItem(item.rEQSTField, item.rEQST_DSCRField));
});
},
error: (jqXHR: any, textStatus: any, errorThrown: any) => {
console.log("loadStates Error: " + errorThrown);
},
});
}
My Service Web.config 包含以下 cors 设置:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>...
当我调用此方法时,它显示错误“访问被拒绝”。
我做错了什么?
【问题讨论】:
-
我希望您需要在 ajax 请求中提及用户名凭据
-
是的,但我目前没有身份验证例程。所以这不可能是问题。该服务也被授予匿名访问权限。
-
没有你的错误清楚地提到问题出在身份验证上,所以你得到“访问被拒绝”的原因。我希望您需要再次检查服务器
-
@AntoKing“访问被拒绝”在这种情况下很可能与身份验证无关。我猜您的服务器上不支持“OPTIONS”动词,因此不支持 CORS。使用 Fiddler 查看实际发出了哪些请求以及实际发送了哪些标头。
标签: c# jquery iis sharepoint cors