Я только начинаю портировать приложение iOS для телефонной связи.Я хочу сделать его мобильным веб-приложением на Android (мое разрабатывающее устройство - Galaxy Nexus под управлением Android 4.0.1).
В основном оно основано на взаимодействии с API (PHP 5), который я создал сам.Каталог API на сервере защищен файлом .htaccess.Это прекрасно работает на iOS / phonegap с кодом ниже.Однако, если я запускаю код на своем телефоне Android, запускается XMLHttpRequest, но затем браузер запрашивает у пользователя имя пользователя / пароль для доступа к каталогу - даже если учетные данные уже включены в запрос.
Любые идеи о том, чтоЯ мог поступить неправильно?
if (checkConnection() == true) {
window.localStorage.setItem("user_login_error_reported","0");
params = "email=" + document.getElementById("e-mail").value + "&password=" + document.getElementById("password").value;
var url = API_URL + "login.php";
var request = new XMLHttpRequest();
request.open("POST", url, true, API_USR, API_PWD );
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.onreadystatechange = function() {
if(request.readyState == 4 && request.status==200) {
var message = "";
var user = JSON.parse(request.responseText);
if (user.error == 1) {
message = "Unbekannter Benutzer."
}
if (user.error == 2) {
document.getElementById("password").value = "";
message = "Falsches Passwort."
}
if (user.error == 0) {
window.localStorage.setItem("user_name", user.name);
window.localStorage.setItem("user_gender", user.gender);
window.localStorage.setItem("user_birthday", user.birthday);
window.localStorage.setItem("user_picture", user.picturedata);
window.localStorage.setItem("user_usercode", user.usercode);
window.localStorage.setItem("user_userid", user.user_id);
hideLoginScreen();
}
}
if(request.status>399 && window.localStorage.getItem("user_login_error_reported")=="0" ) {
alert("Es trat ein Fehler auf. Bitte versuchen Sie es später erneut.",null,"Übertragungsfehler","Danke");
window.localStorage.setItem("user_login_error_reported","1");
}
}
request.send(params);
} else {
alert("Es besteht keine Netzverbindung. Anmeldung nicht möglich.",null,"Übertragungsfehler","Danke");
}