【发布时间】:2016-02-25 22:32:26
【问题描述】:
我已经被困了好几个小时,想知道您是否可以帮助我或给我一些建议?
长话短说, 我有一个 asp.net web api 应用程序,在我的一个页面中,我试图从 web api 加载一些数据并将它们添加到几个下拉列表中。 无论如何,我在页面加载时使用 jQuery ajax
$(document).ready(function () {
//Fires when page loads
LoadMachines();
LoadMachieGroups();
LoadPrinterServer();
LoadSavePreference();
});
每个函数都做类似的工作,例如
function LoadMachieGroups() {
console.log("Before group " + document.cookie);
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "/api/Machine/MachineGroups",
//data: "{}",
success: function (response) {
OnMachinesGroupLoadSuccess(response);
}
});
console.log("after group " + document.cookie);
}
问题是,我们的代码运行到第三个(LoadPrinterServer)和第四个函数(LoadSavePreference)。请求标头通过了 3 次具有不同值的相同 cookie (DoxMachineId)。 (请看图片),这导致我的c#代码无法找到正确的结果。
我的问题是: 1.) 为什么同一个 cookie 可以多次添加到标头中?这是因为多个ajax调用吗? 2.) 如何解决问题?例如:删除 cookie?
谢谢大家。
【问题讨论】:
-
分配给这些 cookie 的路径是什么
-
@ArunPJohny 好问题!我在 webapi 代码中设置了 cookie,response.Headers.AddCookies(EnumerableEx.Return(machineCookie));
标签: javascript jquery ajax cookies asp.net-web-api