вызов Ajax jQuery - Установленное значение переменной на успехе [дубликат]

Когда в Azure AD выполняется вход в первый раз, необходимо сопоставить заявку upn , выданную Azure AD, с заявкой электронной почты , которая используется Azure AD B2C, так что это утверждение email может быть:

  1. Записано как свойство otherMails в объекте user для каталог Azure AD B2C.
  2. Выдано Azure AD B2C в токене идентификатора клиентскому приложению.

Чтобы сопоставить заявку upn , выданную Azure AD, с заявкой электронной почты , которая используется Azure AD B2C, добавьте новую к Технический профиль проверки подлинности Azure AD:


  commonaad
  Common AAD
  
    
      Multi-Tenant AAD
      
      ...
      
        ...
        
      
      ...
    
  

Технический профиль AAD-UserWriteUsingAlternativeSecurityId преобразует заявку электронной почты в другие сообщения [ 1122] запрашивает, вызывая преобразование утверждений CreateOtherMailsFromEmail , а затем сохраняет утверждение otherMails объекту пользователя .

Чтобы отправить заявку по электронной почте в идентификаторе токена для вашего клиентского приложения, добавьте новый в технический профиль проверяющей стороны:


  
  
    PolicyProfile
    
    ...
    
      ...
      
    
    ...
  

42
задан Nathan 2 April 2009 в 14:34
поделиться

5 ответов

Так как Вам нужно это поведение в разгрузить событии, необходимо будет выполнить синхронный вызов вместо этого. Однако может заморозить окно браузера,/tab зависящий от того, сколько времени вызов возьмет, но потому что Вы эффективно пытаетесь препятствовать тому, чтобы пользователь закрыл окно...

Добавить async: false к Вашему JSON для совершения синхронного вызова.

35
ответ дан Pawel Krakowiak 26 November 2019 в 23:56
поделиться

Вещь состоит в том, что запрос к вызову Ajax является асинхронным. Таким образом к тому времени, когда Вы проверяете Вас IsInitialized, вызов еще не закончился.

Я предлагаю указать Ваше поведение в функции успеха.

В основном наличие синхронных вызовов с ajax состоит в том если не невозможно, чем действительно нежелательный.

4
ответ дан Rashack 26 November 2019 в 23:56
поделиться

Вы могли теоретически уничтожить событие (возвратите false), и закройте окно на успехе, но я думаю, что Вы столкнулись бы с ограничениями JavaScript, установленными некоторыми пользователями, и также просто смутили бы их относительно того, почему их окно не закрывается. Так, я соглашаюсь с Pawel Krakowiak, ajax называют себя, должно быть синхронным.

Я добавлю, что Вы захотите дать пользователю некоторое уведомление, что Вы проверяете состояние (не всплывающее окно. один из тех хороших баннеров уведомления наверху окна) и убеждаться установить $ .ajax опция "тайм-аута" к чему-то более разумному для этой ситуации, таким образом, они не ожидают навсегда, чтобы окно закрылось.

2
ответ дан Jerph 26 November 2019 в 23:56
поделиться

Похож на лучший подход для меня, должен был использовать асинхронное: ложная опция на моем вызове ajax. Хотя я понимаю колебание Rashack для того, чтобы сделать это, я думаю, что эта ситуация выравнивает по ширине средства.

Также большая точка Jerph о проверке, что я не оставляю пользователя, зависающего, в то время как я пытаюсь проверить их состояние. Это связало w/, опция тайм-аута важна.

Благодаря всем, кто прокомментировал.

1
ответ дан Nathan 26 November 2019 в 23:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: