这是场景:
我创建了一个web api项目和一个mvc项目,如下所示:
http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api
我通过nuget安装了CORS支持并添加了EnableCorsAttribute
我运行了这个项目,一切都按照预期(GET,PUT和POST)在Chrome,IE和FireFox上运行.
然后我在web api项目中启用了Windows身份验证(是的,我真的需要在api项目中使用win auth).为了使这个工作,我将xhrFields arg添加到我的jquery.ajax调用:
$.ajax({
type: method,
url: serviceUrl,
data: JSON.stringify(foo),
contentType: 'application/json; charset=UTF-8',
xhrFields: {
withCredentials: true
}
}).done(function (data) {
$('#value1').text(data);
}).error(function (jqXHR, textStatus, errorThrown) {
$('#value1').text(jqXHR.responseText || textStatus);
});
Run Code Online (Sandbox Code Playgroud)
另外,我设置了EnableCorsAttribute.SupportsCredentials属性= true
我测试了一切.Chrome和IE工作,FireFox没有.Firefox收到401响应它的预检(OPTIONS)请求.
似乎FireFox没有尝试使用该服务进行身份验证.
有没有人找到解决这个问题的方法?
我正在处理剑道 ui 网格的更改事件。
在事件处理程序中,我想获取调用更改事件的单击单元格。我需要该单元格才能扫描其内容。
有什么想法吗?