我在客户端调用 Asp.net WebApi 时遇到了问题。
我做了什么
我的 asp.net 4.0 网站表单身份验证在配置中设置如下
<authentication mode="Forms">
<forms loginUrl="login.aspx" name=".XXXXXXX" protection="All" path="/" timeout="20" cookieless="UseCookies" slidingExpiration="false" ticketCompatibilityMode="Framework40" />
</authentication>
以上也是 Asp.Net4.5MVC4 WebApi 项目(托管在 IIS 7 上)中的内容。
我面对的是什么。
我登录到我的网站确定。我直接从 URL 访问 WebApi(使用上述身份验证正常工作)和数据显示正常。
但
当我从客户端站点调用 webapi url 时,如下所示
$.support.cors = true;
$.ajax({
type: type,
url: url,
dataType: 'json',
}).done(function (data) {
if (typeof (callbackSuccess) === 'function') {
callbackSuccess(data);
}
}).fail(function (jqXHR, textStatus, errorThrown) {
if (typeof (failCallback) === 'function') {
failCallback(jqXHR, textStatus, errorThrown);
}
}).always(function () { //something});
按钮后面的上述调用就像 IE10 中的魅力一样,并且 cookie 正常。
但是在 FireFox 中(最新) 在数据检索中没有成功以及在 Chrome 中成功,因为它总是转到 $.ajax 失败调用。
作为来自 WebApi 的响应 URL(localhost:xxx/login.aspx?ReturnUrl=%2fapi%2fApiController%2fGet%2f)
任何人都知道我遇到了什么以及如何出去。
当我进行 GET 和 POST 调用时
注意:如果问题中缺少某些内容,请告诉我。:)