Показать сообщение отдельно
  #1 (permalink)  
Старый 09.11.2011, 21:18
Новичок на форуме
Отправить личное сообщение для Rogov Dmitry Посмотреть профиль Найти все сообщения от Rogov Dmitry
 
Регистрация: 02.08.2011
Сообщений: 8

Несъедобные Куки — DOM Exception 11
Пишу ХромоПлагин. Прикручиваю запросу кукисы. Достаю через асинхронную функцию из API Хрома.

Суть топика в следующем вопросе без, собственно, знака вопроса: ононеработает.

function sendRequest(paramsSource, url, callback) {
    // TODO
	//var	mode = isCurrentURLIsMainDomain(url) ? "mainDomainMode" : "internalLinkMode";

	var xr = new XMLHttpRequest();
	xr.open("GET", paramsSource.requestURL, true);


	if (paramsSource.cookies) {
        xr.setRequestHeader("Cookie", "as=2");
        xr.setRequestHeader("Cookie", "as=2");
        settingCookiesForRequest(xr, paramsSource, url, callback);
	}else{
        settingOnReadyStateChange(xr, paramsSource, url, callback);
    }


	xr.send(null);
}
function settingCookiesForRequest(xr, paramsSource, url, callback){
    alert(xr);
    setCookie(xr, paramsSource, url, callback, 0);
}
function setCookie(xr, paramsSource, url, callback, currInd){
    var allCookiesData = paramsSource.cookies;

    chrome.cookies.get(allCookiesData[currInd], function(cookieBrowser){
        
        if(!cookieBrowser){

        }else{
            var cookieString = allCookiesData[currInd].name + "=" + cookieBrowser.value;
            debuggingInfo(cookieString);
            debuggingInfo(xr);
            xr.setRequestHeader("Cookie", cookieString);
            
        }
        var nextInd = currInd + 1;
        if(nextInd < allCookiesData.length){
            alert("!");
            setCookie(xr, paramsSource, url, callback, nextInd);
        }else{
            alert("!!");

            settingOnReadyStateChange(xr, paramsSource, url, callback);
        }
    });
}


Ошибка: Uncaught Error: INVALID_STATE_ERR: DOM Exception 11 на строке
xr.setRequestHeader("Cookie", cookieString);


Тело settingOnReadyStateChange в жертву на медосмотр не приношу. Если не вызывается функция присвоения кукисов, все и работает, и правильно.

Будут благодарен прочесть кунг-фу ответ к этой проблеме.

ЗЫ Пока разгребал понял, что кукисы будут перезаписываться, но не суть. Рекурсии пока нет.

Последний раз редактировалось Rogov Dmitry, 09.11.2011 в 21:26.
Ответить с цитированием