У меня есть приложение Adobe Air, которое я создавал, используя Dreamweaver CS5 в качестве своей IDE.При предварительном просмотре приложения все работает отлично.Когда я создаю приложение и пытаюсь запустить его, первый XMLHttpRequest, который я запускаю, дает сбой.Я думаю, что это проблема безопасности, но я понятия не имею.
Я получаю сообщение о недопустимом пароле каждый раз, потому что domainCOM.status возвращает состояние 0.
ОБНОВЛЕНИЕ: Я установил приложение для просмотра XMLHttpRequest, и оно говорит, что я 'Я получаю статус 200, и я вижу правильный XML возвращается.Это меню, которое Adobe Air каким-то образом превращает статус 200 в 0.
ОБНОВЛЕНИЕ 2: если я запускаю его в режиме предварительного просмотра, я получаю
readyState 2, статус 200 readyState 3, статус 200 readyState 3, статус 200 readyState 4, статус 200
, но если я запускаю его в скомпилированной версии, я получаю только
readyState 4, статус 0
Похоже, что он ничего не делает, ноЯ могу видеть фактический XHR, выполняющий вызов и возвращающийся с использованием Fiddler2.
Очень странно.
Любая помощь / мысли будут оценены.Вот фрагмент кода:
var url = "http://open-api.domain.com/authentication.getUserToken.domain";
var vars = "v=3&appKey="+appKey+"&email="+email+"&password="+password;
var domainCOM = new XMLHttpRequest();
domainCOM.open("POST", url, true);
domainCOM.setRequestHeader ("Content-type", "application/x-www-form-urlencoded");
domainCOM.setRequestHeader ("Content-length", vars.length);
domainCOM.setRequestHeader ("Connection", "close");
domainCOM.onreadystatechange = function() {
if (domainCOM.readyState == done) {
if (domainCOM.status == ok) {
if (domainCOM.responseText) {
//do some stuff
}
else {
window.alert('unknown error in authenticationGetUserToken.');
}
}
else {
window.alert('Password / Userid combination is not valid. Please correct and try again.');
}
}
};
domainCOM.send(vars);
return;
Спасибо, Кейси