Я занимаюсь разработкой веб-приложения iPhone со штрих-кодом. Мое приложение отлично работает, когда я просматриваю его с помощью симулятора iphone. Когда я развертываю его на веб-сервере, я никогда не получаю ответа от XMLHttpRequests. Вот код, я использую:iPhone dashcode xmlhttprequest no response
function get(feedURL, handler) {
var onloadHandler = function() { handler(xmlRequest); };
var xmlRequest = new XMLHttpRequest();
xmlRequest.onload = onloadHandler;
xmlRequest.open("GET", feedURL);
var credentials = encodeBase64(_login.username + ':' + _login.password);
xmlRequest.setRequestHeader("Authorization", "Basic " + credentials);
xmlRequest.send();
}
Когда я прилагаю обработчик onreadystatechange, я могу видеть запрос переходит в состояние 4. Я могу также увидеть запросы в моих журналах сервера. Я также добавил заголовок запроса «без кэша», который не помог. Я попробовал это на локальном веб-сервере на пакете хостинга, который у меня есть, и мне не удастся заставить его работать.
Так 'responseText' пустая строка, когда' 'readyState' достигает 4'? – kangax
Да, это kangax – dlinsin
Вы буквенно-цифровое имя пользователя и пароль? Я заметил использование стандартных SDK, что iPhone немного шелушился с Basic Auth. Вы пытались использовать http: // user: password @ host/path URL вместо ручной настройки заголовка? XML-запрос, вероятно, не планирует обрабатывать заголовки Basic Auth, которые он получает в ответ, и ничего не возвращает. В зависимости от имени пользователя и пароля вам необходимо будет закодировать их, чтобы привязать их к URL-адресу. –