IFRAME 中的 AJAX 调用
Posted
技术标签:
【中文标题】IFRAME 中的 AJAX 调用【英文标题】:AJAX calls in IFRAME 【发布时间】:2021-05-14 19:16:09 【问题描述】:所以我创建了游戏(c# 中的后端)。如果您单击某个图像,AJAX 将处理此并调用后端 c# 中的函数。这在我的网站上完美运行。但如果我尝试在学校网站上执行此操作,他们使用 iframe 显示我的网站,那么这些 AJAX 调用会返回内部服务器错误 500。
【问题讨论】:
那么服务器的错误是什么?你看过日志吗? 不,我正在搜索 ajax 是否可以在 iframe 中工作。我没明白怎么可能是服务器错误,因为在我的网站上一切正常。 Well 500 错误意味着服务器有问题。 学校网站和你的iframe是两个不同的域吗? @S.Walker iframe 用于学校网站,其中 src 是我的网站。学校网站的域名与我的不同。 【参考方案1】:这是来自服务器的错误消息。
2021-05-15 19:12:49.262 +00:00 [错误] Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware:一个 执行请求时发生未处理的异常。
System.ArgumentNullException:缓冲区不能为空。 (范围 '缓冲区')在
System.IO.MemoryStream..ctor(Byte[] buffer, Boolean writable)at
System.IO.MemoryStream..ctor(Byte[] buffer)at
Microsoft.AspNetCore.Http.SessionExtensionsTuke.GetObject(ISession 会话,字符串键)在 C:\Users\adamb\Desktop\bak\bakalarka-appka\Bakalarka\SessionExtensionsTuke.cs:line 12at Bakalarka.Controllers.GameController.Choose(Int32 index) in C:\Users\adamb\Desktop\bak\bakalarka-appka\Bakalarka\Controllers\GameController.cs:line 29at lambda_method(Closure , Object , Object[] )at
Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(对象 目标,Object[] 参数)在
Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper 映射器,ObjectMethodExecutor 执行器,对象控制器,Object[] 论点)在
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(状态& next, Scope& scope, Object& state, Boolean& isCompleted)at
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()--- 从先前抛出异常的位置结束堆栈跟踪 ---在 Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed 上下文)在
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)at
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker 调用者,任务 lastTask,下一个状态,作用域范围,对象状态,布尔值 已完成)在
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|24_0(ResourceInvoker 调用者,任务 lastTask,下一个状态,作用域范围,对象状态,布尔值 已完成)在
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed 上下文)在 Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(状态& next, Scope& scope, Object& state, Boolean& isCompleted)at
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|19_0(ResourceInvoker 调用者,任务 lastTask,下一个状态,作用域范围,对象状态,布尔值 已完成)在
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker 调用者,任务任务,IDisposable 范围)在 Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(端点 端点,任务 requestTask,ILogger 记录器)在
Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext 上下文)在 Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext 上下文)在
Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext 上下文)在
Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext 上下文)在
Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.g__Awaited|6_0(ExceptionHandlerMiddleware 中间件、HttpContext上下文、Task任务)
【讨论】:
以上是关于IFRAME 中的 AJAX 调用的主要内容,如果未能解决你的问题,请参考以下文章
ajax 调用在我的 facebook iframe 中返回 null
在 iframe 中使用 ajax 调用时未定义 xhttp