ajax调用状态为200,但未成功



我从事mvc asp.net项目。我用ajax调用我的控制器函数,调用状态为200,但不成功,然后转到错误部分。

服务:

public async Task<IEnumerable<TeamDto>> GetAllTeamsList()
{
var teams = await _teamRepository.GetAll().Include(u => u.Users).ThenInclude(m => m.User).ToListAsync();
return ObjectMapper.Map<IEnumerable<TeamDto>>(teams);
}

控制器:

public  async Task<IEnumerable<TeamDto>> GetTeams()
{
var teams = await _teamAppService.GetAllTeamsList();
return teams;
}

js文件:

$.ajax(
{
type: "GET",
url: "/App/Team/GetTeams",
success: function (data) {
///
},
error: function (data) { console.log("it went bad " + JSON.stringify(data)); }
});

错误:TypeError:在严格模式函数或调用它们的arguments对象上,可能无法访问"caller"、"callee"one_answers"arguments"属性

这是我在浏览器中复制url时得到的:

{结果}:〔{tenantId}:1,名称}:管理员团队"用户":[{"tenantId":1,"userId":2,"teamId":58,"user":{profilePictureId:null,shouldChangePasswordOnNextLogin:false,signInTokenExpireTimeUtc:null,signInToken:null,googleAuthenticatorKey:null,pin:1234,hourlyRate:0.00,payrollId:仓库Id:1,"tandaUser":null,"normalizedUserName":"ADMIN",";normalizedEmailAddress":"ADMIN@DEFAULTTENANT.COM&"concurrentStamp":"bd7ee91e-587b-4ae2-bc97-be2ce7d7789b"令牌":null;deleterUser":null;creatorUser":null;lastModifierUser":null;authenticationSource":null;用户名":"admin"tenantId":1;电子邮件地址":"admin@defaulttenant.com&"name":"admin"姓:"admin"fullName":"管理admin"密码":"AQAAAAEAACcQAAAAENfcSE+zBppFKVxKUynGBiy4WZgDU3C3gbbWnQUdEyBb5J/S0uLkcqk+2MwM0DXxjw=="emailConfirmationCode":null;passwordResetCode":null;lockoutEndDateUtc":null;accessFailedCount":1;isLockoutEnabled":真,";phoneNumber":""isPhoneNumberConfirmed":false;securityStamp":"07a4d582-7233-3fbc-f3f7-39f015ee388b"isTwoFactorEnabled":false;登录":null;角色":null;权利要求":null;权限":null;设置":null;isEmailConfirmed":真,";isActive":真,";isDeleted":false;deleterUserId":null;deletionTime":null;lastModificationTime":"2020-09-30T02:54:34.402372Z"lastModifierUserId":null;creationTime":"2019-09-05T23:27:47.8514365Z"creatorUserId":null;id":2} ,";团队":{"tenantId":1,"name":"admin团队"用户":[

打开开发人员工具,查看它试图请求的URL。通常在应用程序的上下文中,您没有定义/App。事实上,您可以使用ASP.NET MVC Url助手来获取操作方法,以确保路径正确:

$.ajax({
type: "GET",
url: "@Url.Action("GetTeams", "Team")",

此外,通常您会通过JSON从控制器返回数据,如:

public  async Task<IEnumerable<TeamDto>> GetTeams()
{
var teams = await _teamAppService.GetAllTeamsList();
return Json(teams, JsonRequestBehavior.AllowGet);
}

也许使用asp.net mvc控制器中的Json((会有所不同。注意AllowGet确保返回JSON的操作上的GET请求有效,否则它将被阻止并返回错误。

最新更新