gpt4 book ai didi

javascript - 尝试通过 AJAX 针对我的 WebAPI 发出 GET 请求,仅在 Firefox 和 Chrome 中返回 401 Unauthorized

转载 作者:行者123 更新时间:2023-12-01 01:46:58 24 4
gpt4 key购买 nike

我只是向我的 WebAPI 方法发出 AJAX GET 请求 - IE 没问题,但 Chrome 和 Firefox 返回 401 未经授权错误。

这是我的 jQuery 客户端代码,它对我的​​ WebAPI 进行 AJAX 调用:

(function ($) {
$.displayToastrNotifications = function (appId) {
$.support.cors = true;
var userId = '';

// get current user's ID
$.ajax({
url: 'http://server/AppTools/API/Identity/GetCurrentlyLoggedInUserId',
type: 'GET',
dataType: 'text',
crossDomain: true,
success: function (data) {
userId = data;
// get all messages for the app
$.ajax({
url: 'http://server/AppToolsWS/api/BulletinBoard/GetMessagesForApp/' + appId,
type: 'GET',
dataType: 'json',
crossDomain: true,
success: function (data) {
DisplayToasterNotifications(data);
},
error: function (x, y, z) {
alert('getmessagesforapp: ' + x + '\n' + y + '\n' + z);
}
});
},
error: function (x, y, z) {
alert('getuserid: ' + x + '\n' + y + '\n' + z);
}
});
...

这是我的 WebAPI 方法:

[EnableCors("*", "*", "*")]
public class IdentityController : ApiController
{
[HttpGet]
public HttpResponseMessage GetCurrentlyLoggedInUserId()
{
var userid = string.Empty;
try
{
userid = HelperClasses.StringHelper.GetLogonUserID();
}
catch (Exception ex)
{

}

return this.Request.CreateResponse(HttpStatusCode.OK, userid, "text/plain");
}
}

我可以在任何浏览器中手动导航到此方法,并且它会成功返回数据。这很奇怪,我不确定为什么它在 Firefox 和 Chrome 中这样做 - 我在使用 AD 的公司内部网上 - 有什么想法吗?

最佳答案

请将其添加到您的 web.config

<location path="api">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>

您可以在此处找到更多信息:

http://msdn.microsoft.com/en-us/library/wce3kxhd%28v=vs.100%29.aspx

Disable Windows Authentication for WebAPI

关于javascript - 尝试通过 AJAX 针对我的 WebAPI 发出 GET 请求,仅在 Firefox 和 Chrome 中返回 401 Unauthorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21053964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com