HT-доступ в IE с использованием сценария Java или JQuery - PullRequest
3 голосов
/ 30 января 2012

Мне нужно позвонить по телефону api rest xix.com.

У него обычная аутентификация, и я реализовал ее в jquery.

говорят

return $.getJSON('xyx.com/restapi/login?userid=aaa&pass=qqq'+"&xslt=json.xsl&
callback=?",function(jsonResult)
{
    if(jsonResult.response.status   ==  'success')
    {
        ...
        ...
    }
},"jsonp");

выше работает нормально.

Теперь HT-доступ предоставляется к вышеуказанному сайту xyx.com

Я заменил URL, использованный в приведенном выше getJSON, следующим образом

http://msf:sks1l*@xyx.com/restapi/login?userid=aaa&pass=qqq

где msf и sks11 * - учетные данные HT Access.

Выше работает нормально в FF, но не в IE.

Любые возможные решения или обходные пути.

1 Ответ

2 голосов
/ 30 января 2012

$.getJSON() - это просто сокращение для определенного вида вызова $.ajax(). Документы jQuery показывают детали: http://api.jquery.com/jQuery.getJSON/. $.getJSON эквивалентно:

$.ajax({
  url: url,
  dataType: 'json',
  data: data,
  success: callback
});

И, глядя на документацию $.ajax() на http://api.jquery.com/jQuery.ajax/, написано:

Если сервер выполняет HTTP-аутентификацию перед предоставлением ответ, имя пользователя и пароль могут быть отправлены через имя пользователя и параметры пароля.

Так что просто используйте форму $.ajax() и введите имя пользователя и пароль, например:

$.ajax({
  url: "http://xyx.com/restapi/login?userid=aaa&pass=qqq",
  dataType: 'json',
  success: function(jsonResult) {
      /* your success code */
  },
  username: 'msf',
  password: ':sks1l*@'
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...