1

В последнее время я столкнулся с этой странной ошибкой. Вот поток всего процесса.SCRIPT70: Разрешение отклонено на JQuery Ajax Post

  1. Существует сообщение JQuery ajax post на веб-сайт, который обновит содержимое div. Он передаст параметры на этот сайт и вернет HTML-скрипт.
  2. Если сообщение успешно, оно сначала очистит div и перепишет его, используя возвращаемое значение, полученное с этого веб-сайта. произошло

Ошибка в точке 2.

Вот странная вещь:

В моей машине он работает отлично (Windows 8), а также в виртуальной машине (Windows 10). Я использовал тот же браузер (IE 11 и Edge) для обоих. Однако мой коллега не смог сделать пункт 2, потому что он получил ошибку на стороне клиента SCRIPT70: Разрешение отклонено. Он использовал Edge.

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

Как это разрешить?

UPDATE

Вот код, который вызывает один веб-сайт (или ASPX) с помощью JQuery Ajax сообщение, и извлекает и обновляет DIV.

function RefreshDiv(isChild) { 
    var data = { 
    ActionType: "AJAX", 
    Action: "Refresh" 
    }; 

    $.post("RefreshDivContents.aspx", data, function (result) { 
    if(result != '') { 
     var divItems; 

     if(isChild) { 
      divItems = window.parent.$("#TopDiv").find("#DivItems"); 
     } 
     else { 
      divItems = $("#DivItems"); 
     } 

     divItems.empty(); // error hit here. 
     divItems.append(result); 
    } 
    }); 
} 

UPDATE # 2 Я обновил пример кода для получения дополнительной информации. Кроме того, я разместил там, где произошла ошибка, но я не знаю, почему она попала туда. Он должен очищать только предметы.

UPDATE # 3 Основываясь на ответ Иакова, мне было любопытно, как к тому, что номера протокола и порта два IFrame ЦСИ х. Ниже приведен результат, основанный на консоли.

enter image description here

+0

С каким URL-адресом пользуется ваш знакомый? Эти типы ошибок часто вызывают такие вещи, как попытки сделать кросс-доменные запросы или попытки сделать Ajax из URL-адреса 'file: //'. Вы должны собрать более подробную информацию о том, какая разница между тем, как ваш коллега работает с кодом, и каким вы. Также могут быть разные настройки безопасности браузера. – Jacob

+0

Это веб-приложение, в котором он вызывает одну из страниц aspx. – Musikero31

+0

В этом домене или в другом домене? – Jacob

ответ

1

Это выглядит проблематичным:

divItems = window.parent.$("#TopDiv").find("#DivItems"); 

Я беру его из этого фрагмента, что ключевой вопрос с Same-origin policy. Документ в одном источнике не может обновлять содержимое в другом. Например, в этом случае ваш код может быть запущен в iframe и пытается обновить div в родительском документе. Если два документа имеют одинаковое происхождение, нет проблем.

Вот почему я спросил о URL-адресах. Это необходимо учитывать то, что адреса являются для двух документов, чтобы найти решение, чтобы получить работу сценария:

Если это вопрос документа А является от http://example.com и документ B составляет от http://www.example.com, документ B просто должен работать document.domain = 'example.com'; изменить происхождение.

Если два документа имеют разные номера портов, но тот же доменный протокол &, они могут установить их document.domain в тот же домен, чтобы очистить номер порта от их происхождения, что делает их совместимыми.

Если вы используете HTTPS, а другой использует HTTP, то удивительно, что незащищенный фрейм загружен вообще, и даже если это произойдет, вам будет трудно получить доступ к другому документу.

Если у двух есть совершенно несовместимые доменные имена, вам придется реализовать CORS.

Чтобы подвести итог, вам нужно понять политику одного и того же происхождения, которая является настоящей болью, но защищает пользователей от вредоносных скриптов, а затем создает приложение для его размещения.

+0

Я действительно пытался добавить URL-адрес на доверенные сайты в интернет-вариантах, но он по-прежнему попадает в ошибку в Edge. У вас есть идеи для этого? – Musikero31

+0

Однако, я все еще считаю это странным, потому что два файла находятся в одной папке и в том же домене. – Musikero31

+0

Файлы не имеют значения, и не доверяют ли сайты; каковы фактические URL-адреса документов? Вот что важно. – Jacob