Проблема отправки AJAX-запроса с заголовками в Blackberry Webworks - PullRequest
4 голосов
/ 07 апреля 2011

Я занимаюсь разработкой веб-приложения Blackberry и у меня возникают проблемы с запросом AJAX, который я делаю на сервер. Я изучаю HTML / Javascript / AJAX на лету, поэтому извините любые ошибки новичка. По сути, отформатированные HTTP-запросы отправляются на сервер, который возвращает объекты JSON, которые я использую в приложении. Я использую AJAX для выполнения запросов без каких-либо рамок. Большинство запросов не должны проходить проверку подлинности, и они возвращаются просто отлично. Однако для доступа к части каталога сервера имя пользователя и пароль кодируются и отправляются в виде заголовка с помощью XMLHTTPRequest. когда я пытаюсь добавить заголовок, запрос отправляется, но я ничего не получаю обратно. Свойство readyState имеет значение 1, но никогда не выходит за рамки этого. Я знаю, что сервер работает нормально, потому что я сделал то же самое для iPhone, и он работал.

Вот соответствующий код:

function grabFromServer(httpRequest){   
httpConnection = new XMLHttpRequest();
var me = this;
httpConnection.onreadystatechange=function(){
    alert(httpConnection.readyState);
    if(httpConnection.readyState==4){
        me.processResponseText(httpConnection.responseText);
    }
};
httpConnection.open("GET", httpRequest,true);

if(this.request == "company" || this.request == "property" || this.request == "individual"){
    var authorized = this.checkCredentials();
    if(!authorized){
        //ask for username pword
    }
    //here, add credentials
    httpConnection.setRequestHeader("Authorization", "Basic : ODI5ZGV2bDokY19kdXN0Ym93bA==");
}
httpConnection.send();

}

1 Ответ

1 голос
/ 09 апреля 2011

Ваш код, кажется, хорошо. Вы добавили запись в файл config.xml, чтобы разрешить доступ к вашему домену? Вы должны увидеть запись для чего-то вроде <access subdomains="false" uri="http://data.mycompany.com/"/>. Чтобы отправлять HTTP-запросы на внешний веб-сайт из приложения WebWorks, необходимо добавить запись в домен «белого списка», например, такой:

Если вы используете плагин eclipse, откройте файл config.xml, щелкните вкладку «Разрешения» внизу и нажмите «Добавить домен».

...