我需要从视图中调用操作。我有两种方法:
- 通过使用 ajax
- 通过使用 HTML.ActionLink
出于某些特定原因,我想使用 ajax。现在的问题是,我调用的操作是使用 ADAL,因此,在 Azure AD 授权后,它会重定向到那里指定的返回 URI(在 MVC 中使用 RedirectResult)。检查此链接以获取完整的 ADAL 代码。
现在的问题是,如果我使用选项 2 ieHTML.ActionLink
但不适用于 ajax,则整个过程都可以正常工作。在 ajax 中,它永远不会到达CatchCode
azure AD 中指定的返回 uri(如果您检查上面提到的链接,这是函数),但是,在提琴手中,两个选项的 url 形成相同。
有什么帮助吗?我希望我是有道理的。
编辑:我正在使用的 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
}
});