Как указать тип содержимого с помощью вызова AJAX для браузеров Android? - PullRequest
1 голос
/ 07 ноября 2010

У меня есть вызов ajax на мой сервер rails.В зависимости от типа контента мой сервер rails отвечает либо HTML, либо JSON.Это прекрасно работает в браузере iPhone и в настольных браузерах, таких как Chrome и т. Д. Однако в браузере Android почему-то мой сервер не распознает тип контента.Я не думаю, что overrideMimeType работает!

Кто-нибудь знает обходной путь?Если я не могу понять это, мне просто нужно создать специальный URL для обработки запросов JSON.

Код выглядит примерно так:

function makeAjaxCall {
    xmlhttp=new XMLHttpRequest();
    targetUrl = window.location.pathname;
    xmlhttp.open('GET',targetUrl,true);     
    xmlhttp.overrideMimeType("application/json");
    xmlhttp.onreadystatechange=function()
    {

      if (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
              // On android browsers only this responds with HTML when it should be JSON
        alert('response:' + xmlhttp.responseText);
        r = eval('(' + xmlhttp.responseText + ')');
                    // Do more stuff
      }
    }
    xmlhttp.send();
}

1 Ответ

1 голос
/ 20 октября 2011

Может быть, вам нужно

xmlhttp.setHeader("Content-Type", "application/json");

а?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...