JeanBrand February 2016

iOS Firefox XMLHttpRequest wrong response

I have a function that send a XMLHttpRequest GET to retrieve JSON from my backend.

xhttp.onreadystatechange = function()
{
    if(xhttp.readyState == 4 && xhttp.status == 200)
    {
        applicationUtil.showLoader(false);
        if(handler != null)
        {
            alert(xhttp.responseText);
            if(xhttp.responseText != "" && this.getResponseHeader('content-type') == "application/json")
            {
                handler(JSON.parse(xhttp.responseText), false);
            }
            else
            {
                handler("", true);
            }
        }
    }
}

xhttp.open("GET", "../../csp/healthshare/hsanalytics/Custom.AMY.REST.Session.cls?CacheUserName="+ username +"&CachePassword="+ password, true);
xhttp.send(null);

Now, this function works 100% on any browser on any device, accept iOS Firefox. I have tried going the jQuery route, same results:

$.ajax({
      url: "../../csp/healthshare/hsanalytics/Custom.AMY.REST.Session.cls?CacheUserName="+ username +"&CachePassword="+ password,
      accepts:"application/json",
      cache: false,
      crossDomain: true,
      dataType: "json",
      username: username,
      password: password,
      error: function(event)
      {
          handler("", true);
      },
      success: function(data, status)
      {
          handler(data, false);
      } 
});

I have spent hours researching the topic, but I have not been able to find any articles specific to my problem.

Answers


Daniel February 2016

Some browsers are very finicky when it comes to headers.. Have you tried to send basic authorization? Including username and password..

e.g)

{
"Authorization": "Basic " + btoa(username + ":" + password)
},

Give it a go and see :)

Post Status

Asked in February 2016
Viewed 3,836 times
Voted 13
Answered 1 times

Search




Leave an answer