2010-07-19 1 views
1

мой вопрос в том, как отправить cookie с setRequestHeader. Мой код, чтобы проверить это это один:setRequestHeader + Cookie

var client = new XMLHttpRequest(); 
client.open('POST', 'url'); 
client.setRequestHeader('Cookie', 'test=mycookie'); 
client.setRequestHeader('Cookie', 'test=mycookie'); 
alert("start"); 
client.onreadystatechange = function() { 
    if(client.readyState == 4 && client.status == 200){ 
    alert("beginning"); 
    alert(client.getAllResponseHeaders()); 
    document.getElementById('test').innerHTML = client.responseText; 
    alert("end"); 
    } 
} 
client.send(); 

В getAllResponseHeaders() - метод дает только caontent типа. Но как я могу проверить, установлен ли файл cookie или нет?

Так что это должен быть javascript и document.cookie - это не так, потому что я разрабатываю для Nokia WRT, и он не использует это.

Thanx за вашу помощь

ответ

0

XMLHttpRequest не был разработан, чтобы быть в состоянии делать то, что ваш просят это сделать. Как вы правильно отметили document.cookie - это обычный способ установить файлы cookie в javascript, на самом деле не имеет смысла запрашивать cookie через AJAX, как это.

Если вы не можете использовать document.cookie, тогда передайте параметры своего файла cookie в качестве пост-данных и обработчик вашей серверной группы настроит cookie в ответе.

Например, если ваш стороне сервера обработчик был Java сервлетов:

Cookie myCookie = new Cookie("Name", "Value"); 
HttpServletResponse res = getContext().getResponse().addCookie(myCookie);