JQuery загрузить страницу в диалог

0

Я разрабатываю приложение Intranet с логином через AD. В моем приложении мне нужно загрузить веб-страницу из другого приложения на том же сервере и показать эту страницу в диалоговом окне.

$('#btnExample').click(function () {

var id = getCurrentId();
var url = 'http://SERVERNAME:81/Runtime/Forms/formDetail.aspx?SN=' + id;

                jQuery.support.cors = true;

                $('#pagePreview').load(url, function (response, status, xhr) {
                    alert(xhr.status + " " + xhr.statusText);
                });

                $('#pagePreview').dialog(
                    {
                        draggable:false,
                        height: 768,
                        width: 1024,
                        modal: true,
                    });

                return false;
            });

Ошибка загрузки функции: Отказано в доступе. Зачем? В моем приложении пользователь регистрируется в Active Directory, а во втором приложении также регистрируется AD...

Есть ли другой способ его решения? Мне нужно отобразить эту страницу на моем сайте в диломе. благодаря

Теги:
webforms

1 ответ

0

Вторая страница, вероятно, не на том же хосте, что и первая, поэтому ваш запрос нарушает "ту же политику происхождения".

Как обходной путь, попробуйте ajax-запрос, загрузите html во что-то, а затем залейте его диалогом. Если запрос по-прежнему запрещен, создайте локальный php-скрипт, который делает запрос на завивки на указанную страницу, и сделайте запрос ajax к этому скрипту.

Если он все еще терпит неудачу... что-то не так.

  • 0
    На моем тестовом сервере, работающем на IIS, оба приложения, но на разных портах ... Если я открою тот же URL на новой вкладке (или новых окнах) в браузере, то все в порядке ...
  • 1
    Даже если отличается только порт, случай рассматривается как нарушение той же политики происхождения. Это в основном предел, который не позволяет сценариям получать доступ к данным за пределами своего, скажем, «домена» из-за отсутствия лучшего слова. Чтобы обойти это можно сделать запрос curl (что я указал в ответе). Это раздражает, я знаю, но ... жизнь отстой. Другими решениями будет использование одного домена и порта для обоих приложений, использование iframe в диалоговом окне или ... поскольку это внутреннее приложение, чтобы отключить политику во всех браузерах, использующих приложения (хотя я бы не советовал ).
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню