2016-10-06 3 views
0

Мой первый пост здесь. Я использую дроидскрипт, и я должен включить заголовок, который содержит определенного пользователя и пароль, чтобы получить токен. У меня проблемы, потому что я не знаю, где включить эти заголовки.Добавить заголовок в http-запрос

Вот код, я использую:

function btn_OnTouch(){ 

    var url = "myurl"; 
    SendRequest(url); 

} 

//Send an http get request. 

function SendRequest(url){ 

    var httpRequest = new XMLHttpRequest(); 

    httpRequest.onreadystatechange = function() { 
     HandleReply(httpRequest); 
    }; 

    httpRequest.open("GET", url, true); 

    httpRequest.send(null); 

    app.ShowProgress("Loading..."); 

} 

//Handle the servers reply (a json object). 

function HandleReply(httpRequest){ 

    if (httpRequest.readyState == 4){ 

     //If we got a valid response. 

     if (httpRequest.status == 200){ 
      txt.SetText("Response: " + httpRequest.status + httpRequest.responseText); 
     } 

     //An error occurred 
     else 
      txt.SetText("Error: " + httpRequest.status + httpRequest.responseText); 

    } 

    app.HideProgress(); 

} 

сказал мне, что, вероятно, следует включить все заголовки, как это, но я не знаю, куда поместить их в своем коде.

httpRequest.setRequestHeader(“username”, “myuser”); 

httpRequest.setRequestHeader(“password”, “mypass”); 
+0

Попробуй, прежде чем 'httpRequest.open ("GET", URL, истинный),' 'в SendRequest (url) ' –

+0

Не работает. Это дает мне эту ошибку: Ошибка скрипта: не удалось выполнить« setRequestHeader »в« XMLHttpRequest »: должно быть открыто состояние объекта. –

+0

Ну, как говорится, «состояние объекта должно быть открытым», и, очевидно, заголовки должны быть установлены перед отправкой запроса, а затем о размещении кода после 'open()' и перед 'send()'. –

ответ

0

Вы должны сделать это только после вызова открытым способом, как это: -

httpRequest.open("GET", url, true); 
httpRequest.setRequestHeader("username", "myuser"); 
httpRequest.setRequestHeader("password", "mypass"); 
httpRequest.send(null);