我使用ajax在javascript函数中发布到端点。在我发帖之前,我在请求上设置了一个名为"Cookie"的标题。我已经尝试过使用beforeSend和"headers"设置标头(请参阅下面的代码),但标头只是偶尔设置的。大多数情况下,"Cookie"标头未设置。我可以通过查看Post请求的firebug中的标头来判断这一点。我只对名为"Cookie"的标头有这个问题。所有其他标头都是一致设置的。我无法将"Cookie"标头的名称更改为其他值,因为这是我所调用的服务所必需的。
$.ajax({
url:url,
type:'POST',
contentType: "application/xml",
beforeSend: function (request)
{
request.setRequestHeader("Cookie", authCookie);
request.setRequestHeader("Authorization", "Authentication id=company.platform.services.org.test,app_secret=aEWEvsddsdddddds0");
},
headers: {"Cookie": "abc.etc.authid=" + companyID + ",abc.etc.ticket=" + ticket, "Authorization": "Authentication id=company.platform.services.org.test,app_secret=aEWEvsddsdddddds0"},
data: order,
success: createOrderCallback,
error: createOrderError
});
是否有更好的方法来设置此标头,以确保始终为每个请求设置此标头?
不可能用XHR设置cookie头http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-方法
它似乎起作用的唯一原因可能是浏览器发送了实际的cookie。