我检查了这个请求,可以看到:
Set-Cookie:.AspNet.Cookies=AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAFyzOzXtC90-nkj7osKIxHgAAAAACAAAAAAAQZgAAAAEAACAAAAB68msx5mvbIc_UOFEpHKgyKg8z4X75MKKk5Notp79FeAAAAAAOgAAAAAIAACAAAAD8G4ZvSLWFoqp7TVme89yuoX0Kd7V6uYe-WEeeSoYClvAAAAB1vGrXcVvzq7uUYiruKLJiGBpZJBDcOL3PBMRYnHv3VT202hC-4J-U-GGoJlWQz3MrEoq_vmEoE3tbsn09AAX06HZrhBl5ZvyLiTkCcJaAT_xeX-6Uv6fDWMHpezJ_xrhE8nVjOj8oBI2HhIjymzD1CaWCriFqPOQKSoC6OLOHurRUcZ6J8LHeKcsWsc4hm6z6VD-GgzHyHAzZ7OgHX6NMsBpkQ_6VX7e-lo-fUx4RG6sJRIKPHbbFGm8hpfNzFCffbS8nuGC7SMu9zoQLGdDcZx0ulxlQcSxpcfbaaPbb3l1FsM9YZOipQNyLRDQtN-5AAAAA2D6u3avm-yI1tnz-xqBLBus26s2IRF2vuBzDEFkTbG5PPYHY2ijq5-xMzkNlVNsgloQ-XjKhmy9JiX4YLkMSjQ%3D%3D; path=/; expires=Mon, 30-Sep-2013 21:49:58 GMT; HttpOnly
但是当我查看浏览器cookie时,没有设置。
$.ajax({
url: this.path + id,
beforeSend: (xhr) => this.setAuth(xhr),
type: 'GET'
})....
相关信息可能是它的跨源调用。 http://localhost:36859/
至http://127.255.0.1:8061/
。
我是否需要做其他事情来设置cookie?
答案 0 :(得分:3)
return $.ajax({
url: this.path + id,
beforeSend: (xhr) => this.setAuth(xhr),
type: 'GET',
crossDomain: true,
xhrFields: {
withCredentials: true
}
}).fail((xhr, status, error) => {
console.log(arguments);
notification.showErrorMessage("Error Loading", notification.getErrorDetail(xhr));
});
xhrFields做到了这一点。身份验证cookie是在webapi调用中发送的。