我想通過javascript向服務器發送POST請求(這是一個REST服務),並且在我的請求中,我想發送一個cookie.My下面的代碼不工作,因爲我無法在服務器端接收cookie。以下是我的客戶端和服務器端代碼。在HTTP POST請求中發送cookie在javascript中
客戶端:
var client = new XMLHttpRequest();
var request_data=JSON.stringify(data);
var endPoint="http://localhost:8080/pcap";
var cookie="session=abc";
client.open("POST", endPoint, false);//This Post will become put
client.setRequestHeader("Accept", "application/json");
client.setRequestHeader("Content-Type","application/json");
client.setRequestHeader("Set-Cookie","session=abc");
client.setRequestHeader("Cookie",cookie);
client.send(request_data);
服務器端:
public @ResponseBody ResponseEntity getPcap(HttpServletRequest request,@RequestBody PcapParameters pcap_params){
Cookie cookies[]=request.getCookies();//Its coming as NULL
String cook=request.getHeader("Cookie");//Its coming as NULL
}
'setRequestHeader(「Set-Cookie」,「session = abc」);' - Set-Cookie是**響應**標頭,而不是請求標頭。 – Quentin
另請參閱此線程http://stackoverflow.com/questions/2870371/why-is-jquerys-ajax-method-not-sending-my-session-cookie –