2017-02-02 15 views
0

Я создал страницу приложения под _layouts папки с одним WebMethod:Sharepoint Центрального управление Ajax сообщения для WebMethod возврата Проверка безопасности для этой страницы является недопустимым

[WebMethod] 
    public static string TestConnection(string server) 
    {...} 

и я звала этот метод путем размещения Ajax запрос:

var siteurl = _spPageContextInfo.webAbsoluteUrl; 

     $.ajax({ 
      type: "POST", 
      url: siteurl + "/_layouts/...", 
      data: '{server: "' + server + '"}', 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (response) { 
       alert(response.d); 
      }, 
      error: function (xhr, textStatus, error) { 
       alert(error); 
      } 
     }); 

и она работает просто отлично, но требования изменились, так что я должен был изменить расположение страницы с _layouts на _admin (Central Administration) и обновить АЯКС поз t url к новому, , но теперь я получаю следующую ошибку:

Проверка безопасности для этой страницы недействительна. Нажмите «Назад» в своем веб-браузере, обновите страницу и повторите попытку.

Это похоже на безопасность, но я не могу понять.

может любой помочь !.

Спасибо,

ответ

1

После долгого времени исследований и чтения статей, я обнаружил, что есть нечто, называемое SharePoint Form Digest, который является ответственным за проверки безопасности для страниц SharePoint, вы можете прочитать здесь: http://www.jeanpaulva.com/index.php/2015/05/23/sharepoint-form-digest/

и здесь: http://blog.repsaj.nl/index.php/2012/06/sp2010-solving-the-mysteries-around-form-digest/

и сделать свой запрос действительным я должен был добавить значение «Req uestDigest control "в заголовки запроса, такие как:

headers: { "Accept": "application/json; odata=verbose", 
           "X-RequestDigest": $("#__REQUESTDIGEST").val(), 
           "If-Match": "*" 
       } 

 Смежные вопросы

  • Нет связанных вопросов^_^