У меня есть требование вызвать действие из представления. У меня есть два способа сделать это:Выполнение запроса ajax в MVC и вызов ADAL
- с помощью Ajax
- Используя Html.ActionLink
Я хочу использовать Ajax для некоторых конкретных причин. Теперь проблема заключается в том, что действие, которое я вызываю, использует ADAL, и поэтому после авторизации от Azure AD он перенаправляет на возврат указанного URI (используя RedirectResult в MVC). Проверьте код this link на полный код ADAL.
Теперь проблема заключается в том, что весь процесс работает нормально, если я использую параметр 2, то есть HTML.ActionLink
, но не работает с ajax. В ajax он никогда не достигает возврата uri (что является функцией CatchCode
, если вы проверяете ссылку, упомянутую выше), указанную в лазурном AD, хотя в скрипаче url формируется одинаковым для обоих параметров.
Любая помощь? Надеюсь, у меня есть смысл.
Edit: Ajax код, я использую это
$.ajax({
url: '/Home/About',
data: { id: someKey },
cache: false,
type: "POST",
success: function (data, textStatus, XMLHttpRequest) {
//dosomething
},
error: function (jqXHR, textStatus, errorThrown) {
//dosomething
console.log(errorThrown);
},
complete: function() {
//dosomething
}
});
Мой друг, я думаю, нам нужен код, чтобы помочь вам :) – Luke
Код C# для ADAL такой же, как и в ссылке. Я отредактировал вопрос для ajax. Это довольно прямолинейно. – Garima