gpt4 book ai didi

javascript - AJAX 调用不适用于 Controller 操作

转载 作者:行者123 更新时间:2023-11-29 21:42:01 27 4
gpt4 key购买 nike

萨拉蒙·阿勒库姆

我的 AJAX 调用没有调用 ASP.NET MVC Web 应用程序项目中的 Controller 操作

下面是我在 Javascript 中的 AJAX 调用,接下来是 Controller 的操作

AJAX 调用

    var requestUrl = '/Home/GetCurrentUser';
$.ajax({
url: requestUrl,
type: 'GET',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function(data)
{
debugger;
alert(data);
},
error: function (xhr, status, error)
{
debugger;
alert(error);
}

Controller Action

[SharePointContextFilter]
public JsonResult GetCurrentUser()
{
CurrentUserModel um = new CurrentUserModel();
try
{
Microsoft.SharePoint.Client.User spUser = null;
var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);
using (var clientContext = spContext.CreateUserClientContextForSPHost())
{
if (clientContext != null)
{
spUser = clientContext.Web.CurrentUser;

clientContext.Load(spUser, user => user.Title, user => user.Email, user => user.LoginName);

clientContext.ExecuteQuery();

um.Name = spUser.Title;
um.Email = spUser.Email;
um.LoginName = spUser.LoginName;
}
}

SharePointBoxOnline.Common.User u = UserManager.Instance.GetUserByEmail(um.Email);

if (u != null)
{
um.ClientId = u.FK_Client_ID;
um.UserId = u.User_ID;
}
}
catch (Exception e)
{
SharePointBoxOnlineAppWeb.Classes.LogsManager.LogException(e.Message, e.StackTrace, System.Web.HttpContext.Current.Request.Url.ToString(), "Added logging functionality to store the exception information in the Database", DateTime.Now);
}

return Json(um, JsonRequestBehavior.AllowGet);
}

AJAX 中的错误结果是

错误.描述

Invalid character

状态

parsererror

xhr.responseText

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Error</title>
<link href="/Content/css?v=MDbdFKJHBa_ctS5x4He1bMV0_RjRq8jpcIAvPpKiN6U1" rel="stylesheet"/>

</head>
<body>
<div class="container">
<div class="jumbotron">
<h2>An unexpected error has occurred.</h2>
<p>Please try again by launching the app installed on your site.</p>
</div>
</div>

<!-- Visual Studio Browser Link -->
<script type="application/json" id="__browserLink_initializationData">
{"appName":"Internet Explorer","requestId":"673b269bf2c74e39a9496d69f3e0b62e"}
</script>
<script type="text/javascript" src="http://localhost:14069/4b2e31c8e2cf413facce9558ed0cb3ff/browserLink" async="async"></script>
<!-- End Browser Link -->

</body>
</html>

谢谢 Stackoverflow 和 Stackoverflow 的成员,如果您需要更多详细信息,请告诉我

谢谢

最佳答案

$.ajax({
url: requestUrl,
type: 'GET',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function(data)
{
debugger;
alert(data);
},
error: function (xhr, status, error)
{
debugger;
alert(error);
}
});

关于javascript - AJAX 调用不适用于 Controller 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32450607/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com