首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何修复500内部

如何修复500内部
EN

Stack Overflow用户
提问于 2019-08-04 12:48:28
回答 1查看 126关注 0票数 0

我已经为学生建立了在线考试系统,但我不能用json传递答案。我得到了500内部错误,我不知道如何解决它。

我试着删除很长的数据,但是没有帮助,我不明白问题出在哪里。一切都传递给控制器,它一直工作到db.name.add(item);然后它返回500个内部错误

代码语言:javascript
运行
AI代码解释
复制
<script>
    $("#save_value").click(function(event){
        event.preventDefault();
        jsonObj = [];
        $("input:radio:checked").each(function() {

            var question_id = $(this).attr("data-value");
            var selection = $(this).val();

            item = {}
            item ["selection"] = selection;
            item ["question_id"] = question_id;

            jsonObj.push(item);
        });
        jsonString = JSON.stringify(jsonObj);
        var form = $('#FormId').val();
        var stu = $('#StudentId').val();
        var note = $('#notes').val();

        $.ajax({
            type: 'POST',
            dataType: 'json',
            contentType: 'application/json; charset=utf-8',
            url: '@Url.Action("SaveForm", "Home")',
            data:  JSON.stringify({'FormId': form , 'StudentId' : stu , 'notes' : note , 'data' : jsonString }),
            success: function(result) {
                console.log('Data received: ');
                console.log(result);
            },
        });
    })
</script>

控制器:

代码语言:javascript
运行
AI代码解释
复制
[HttpPost("SaveForm")]
public async Task<IActionResult> SaveForm([FromBody]FromAnswerModel model)
{
    if (model != null)
    {
        var id = int.Parse(User.Identity.Name);
        var member = _context.ClassesStudent.FirstOrDefault(m => m.Id == id);

        int years = 0;
        int months = 0;
        int days = 0;

        DateTime temp = member.BirthDate.Value;

        while (temp.AddYears(1) <= DateTime.Now)
        {
            temp = temp.AddYears(1);
            years++;
        }

        // get months
        while (temp.AddMonths(1) <= DateTime.Now)
        {
            temp = temp.AddMonths(1);
            months++;
        }

        // get days
        while (temp.AddDays(1) <= DateTime.Now)
        {
            temp = temp.AddDays(1);
            days++;
        }

        short positive = 0;
        short negative = 0;

        JArray a = JArray.Parse(model.data);

        foreach (JObject o in a.Children<JObject>())
        {
            foreach (JProperty p in o.Properties())
            {
                string name = p.Name;
                string value = (string)p.Value;
                Console.WriteLine(name + " -- " + value);
                if (value == "A")
                {
                    positive++;
                }
                else if(value =="B")
                {
                    negative++;
                }
            }
        }

        if(negative == 0)
        {
            int sum;

            if(years == 1)
            {
                years = 12;
                sum = years + months;
            }
            else
            {
                years = 12;
                int newMonths = 12 * years;
                sum = months + newMonths;
            }

            var item = new BoxesStudentobservationforms
            {
                Data = model.data,
                SavedDate = DateTime.UtcNow,
                IsCompleted = 1,
                FormId = model.FormId,
                StudentId = model.StudentId,
                Notes = model.notes,
                PositivePoints = positive,
                ImmortalPoints = negative,
                MonthlyWhenSave = (short)sum,
                Result = "Do not support."
            };

            _context.BoxesStudentobservationforms.Add(item);
            await _context.SaveChangesAsync();
        }
        else
        {
            int sum;

            if (years == 1)
            {
                years = 12;
                sum = years + months;
            }
            else
            {
                years = 12;
                int newMonths = 12 * years;
                sum = months + newMonths;
            }

            var item = new BoxesStudentobservationforms
            {
                Data = model.data,
                SavedDate = DateTime.UtcNow,
                IsCompleted = 1,
                FormId = model.FormId,
                StudentId = model.StudentId,
                Notes = model.notes,
                PositivePoints = positive,
                ImmortalPoints = negative,
                MonthlyWhenSave = (short)sum,
                Result = "support"
            };

            _context.BoxesStudentobservationforms.Add(item);
            await _context.SaveChangesAsync();
        }

        return Json("Success");
    }
    return Json("Success.");
}

它不会保存。正如我所说,它到达了这一部分

代码语言:javascript
运行
AI代码解释
复制
_context.BoxesStudentobservationforms.Add(item);
await _context.SaveChangesAsync();

然后返回500 intenval error。它正在工作,但在本地和服务器上突然停止工作。

输出:

代码语言:javascript
运行
AI代码解释
复制
Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request starting HTTP/1.1 POST https://localhost:5001/SaveForm application/json; charset=UTF-8 733
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker:Information: Route matched with {action = "SaveForm", controller = "Home"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] SaveForm(BuyukAile.ViewModels.FromAnswerModel) on controller BuyukAile.Controllers.HomeController (BuyukAile).
Microsoft.AspNetCore.Authorization.DefaultAuthorizationService:Information: Authorization was successful.
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker:Information: Executing action method BuyukAile.Controllers.HomeController.SaveForm (BuyukAile) - Validation state: Valid
Exception thrown: 'Microsoft.EntityFrameworkCore.DbUpdateException' in System.Private.CoreLib.dll
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker:Information: Executed action BuyukAile.Controllers.HomeController.SaveForm (BuyukAile) in 118.6163ms
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware:Error: An unhandled exception has occurred while executing the request.

Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details. ---> MySql.Data.MySqlClient.MySqlException: Cannot add or update a child row: a foreign key constraint fails (`buyukaile`.`boxes_studentobservationforms`, CONSTRAINT `boxes_studentobserva_form_id_3b194fa5_fk_boxes_obs` FOREIGN KEY (`form_id`) REFERENCES `boxes_observationform` (`id`))
   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteAsync(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary`2 parameterValues, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(DbContext _, ValueTuple`2 parameters, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IReadOnlyList`1 entriesToSave, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)
   at BuyukAile.Controllers.HomeController.SaveForm(FromAnswerModel model) in C:\Users\jacka\OneDrive\Desktop\BA EĞİTİM\BuyukAile\Controllers\HomeController.cs:line 391
   at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
   at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request finished in 133.8998ms 500 text/html; charset=utf-8
代码语言:javascript
运行
AI代码解释
复制
 public partial class BoxesStudentobservationforms
    {
        public int Id { get; set; }
        public short MonthlyWhenSave { get; set; }
        public string Notes { get; set; }
        public DateTime? SavedDate { get; set; }
        public short PositivePoints { get; set; }
        public short ImmortalPoints { get; set; }
        public string Result { get; set; }
        public byte IsCompleted { get; set; }
        public string Data { get; set; }
        public int FormId { get; set; }
        public int? StudentId { get; set; }

        public BoxesObservationform Form { get; set; }
        public ClassesStudent Student { get; set; }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-04 13:24:57

您的500页显示,您的MySql DB上存在一个与外键相关的错误(formid <-> formobservationid)。

可能的问题:您试图错误的外键或数据库用户权限相关的问题,等等。

我建议您创建一个临时页面,用于写入抛出此500页错误的确切SQL命令。

然后,复制该SQL并尝试在您的MySql DB上执行(通过heidiSQL或mysqladmin)。

并检查结果。如果再次抛出错误,请尝试在数据库端解决。

请通过更新您的问题与我们分享结果。

另外,请检查这一点,因此问题:

Related Question 1

Related Question 2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57346692

复制
相关文章
如何修复 WordPress 网站上的 500 Internal Server Error 内部服务器错误
在**500内部服务器错误** 维护WordPress安装时,在PHP或Web服务器)的问题有可能成为罪魁祸首代码可以是一个模糊的一个。如果您在安装 WordPress 时收到**500 错误** ,本教程将分享解决方案,以帮助您识别、解决和验证您所做的更改是否成功让您的 WordPress 站点再次顺利运行。
梦溪
2021/08/06
5.6K0
http500内部服务器错误什么意思?http500内部服务器错误如何解决?
平时使用电脑的时候都是回遇到各种问题的,即使再好的机器使用久了也难免会遇到问题,计算机作为一种精密的机器,是由多种部件组成才可以正常运行的,所以在使用过程中遇到的问题还是比较多的,除了硬件问题之外软件问题更是经常会遇到,比如常见的网络崩溃、死机蓝屏等等,在访问互联网的时候会出现http500内部服务器错误这种问题,那么http500内部服务器错误什么意思?http500内部服务器错误如何解决?
用户8715145
2021/09/10
2.9K0
显示http500内部服务器错误,http500内部服务器错误,小编教你HTTP 500 内部服务器错误怎么解决…
在使用电脑的时候,出现问题是我们最不想碰到的事情了。当打开网站的时候碰到“HTTP500内部服务器错误”,这会让我们非常的心烦,有时候就是因为这些故障要折腾很久,很闹心的,下面,小编给大家带来了HTTP 500 内部服务器错误的解决图文。
全栈程序员站长
2022/09/21
6.8K0
显示http500内部服务器错误,http500内部服务器错误,小编教你HTTP 500 内部服务器错误怎么解决…
windows中http500内部服务器错误如何解决
本文小编为大家详细介绍“windows中http500内部服务器错误如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows中http500内部服务器错误如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
会长君
2023/04/26
2.9K0
HTTP状态500-内部服务器错误[通俗易懂]
SSM整合时出现的问题 起初关注点一直在Mapper.xml上,CSDN查询解决方法大致在这样几种。 1.SQL语句问题 2.resultType返回类型问题(List集合中的参数类型) 3.database.properties数据库配置文件问题(Mysql8以上加时区,文件多写了空格,少写了jdbc.)
全栈程序员站长
2022/09/22
5.9K0
HTTP状态500-内部服务器错误[通俗易懂]
JQuery Ajax Post导致500内部服务器错误
$.ajaxSetup({data:{csrfmiddlewaretoken:'{{csrf_token}}'}});
用户4645133
2019/02/15
4.5K0
PrestaShop 网站漏洞修复如何修复
PrestaShop网站的漏洞越来越多,该网站系统是很多外贸网站在使用的一个开源系统,从之前的1.0初始版本到现在的1.7版本,经历了多次的升级,系统使用的人也越来越多,国内使用该系统的外贸公司也很多,PrestaShop扩展性较高,模板也多,多种货币自由切换,并支持信用卡以及paypal支付,是外贸网站的首选。就在最近几天,PrestaShop被爆出有远程代码注入漏洞,该漏洞影响范围较光,危害较大,可以上传webshell到网站根目录下。
网站安全专家
2019/07/24
4.3K0
PrestaShop 网站漏洞修复如何修复
PrestaShop网站的漏洞越来越多,该网站系统是很多外贸网站在使用的一个开源系统,从之前的1.0初始版本到现在的1.7版本,经历了多次的升级,系统使用的人也越来越多,国内使用该系统的外贸公司也很多,PrestaShop扩展性较高,模板也多,多种货币自由切换,并支持信用卡以及paypal支付,是外贸网站的首选。就在最近几天,PrestaShop被爆出有远程代码注入漏洞,该漏洞影响范围较光,危害较大,可以上传webshell到网站根目录下。
技术分享达人
2019/01/01
4.2K0
500-内部服务器错误_显示内部服务器错误怎么办
HTTP500内部服务器错误”解决方法 – 苦涩的茶 – 博客园HTTP500内部服务器错误的提示,无法法查看错误的详细信息,用户也没办法根据具体的问题来解决,这对很多新用户确实是一件很麻烦的事情,遇来源:www.mingqicha.com
全栈程序员站长
2022/09/22
3.9K0
当 Windows IIS 网站显示“500 - 内部服务器错误”,如何查看真实报错信息
Windows 实例使用 IIS 作为 Web 服务的网站,访问时出现“500 - 内部服务器错误”如下图所示。此报错并没有输出具体的错误项,给排查问题带来一些困难,可以通过以下方法显示程序的真实报错,以便针对性分析网站错误。
古人诗
2019/01/04
13.8K0
当 Windows IIS 网站显示“500 - 内部服务器错误”,如何查看真实报错信息
内部服务器500错误原因解决方法_什么是内部服务器错误
大家好,又见面了,我是你们的朋友全栈君。 http 500内部服务器错误的解决方法 这个错误整整浪费了我下午的时间,在网上有很多的方法,当然我也是从那些繁多的方法中一点点的搞定IIS的,首先你要先装好IIS,XP SP2中的应该是5.1版本的,安装方法: 1->打开控制面板,选择添加删除程序 2->选择添加删除组件,选择Internet信息服务,也就是IIS 3->点击下一步安装就好了 安装好之后也许你的机子会正常的显示http://localhost/的页面,但很遗憾我的无法正常显示,而且是显示HTTP 500 内部服务器错误,当然我相信肯定有很多人遇到这种情况,搜索一下就知道有多少了。 解决方法: 首先我们要在Internet Explore中选择工具->Internet选项->高级->显示友好的HTTP错误信息,把这一项前面的对钩取消。 这样刷新一下http://localhost/这个页面就会显示出详细的出错信息,有可能会有其他原因,现在只说我遇到的,也是大多数人遇到的错误原因,也就是下面的错误: Server Application Error The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance. 至于出错的具体原因,在这里就不多说了,我们只谈论解决的办法,如果你有兴趣去弄明白其原因,你可以参阅网上的其他资料。 解决方案: 1->右击我的电脑->管理->本地用户和组->用户,给IUSR_机器名和IWAM_机器名两个用户设置密码,要一样 2->开始->运行->输入cmd进入控制台 3->在控制台下输入cd c:/Inetpub/AdminScripts 4->输入cscript.exe adsutil.vbs set w3svc/wamuserpass 你的密码 5->输入cscript.exe adsutil.vbs set w3svc/anonymoususerpass 你的密码 注意这时候控制台不要关闭 刷新http://localhost/如果正常显示出两个页面,说明正常,下面的就可以不去做,如果不行就请继续 6->继续在控制台下输入cscript.exe synciwam.vbs -v 7->如果这时候出现8004e00f错误的话跳过步骤8,直接执行步骤9 8->输入iisreset,重启IIS,刷新http://localhost/,正常 9->开始->运行->输入dcomcnfg->进入组件服务->点击右边的组件服务->计算机->我的电脑->COM+应用程序 报错”COM+ 无法与 Microsoft 分布式事务协调程序交谈”,无法查看里面的对象 10->进入事件查看器,发现msdtc服务没有正常启动。 11->开始->运行->输入regedit进入注册表(下面删除的几项最好先导出一下) 12->找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSDTC删除 13->找到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC删除 14->找到HKEY_CLASSES_ROOT/CID删除 15->在控制台下继续输入net stop msdtc停止MSDTC服务 16->输入msdtc -uninstall卸载MSDTC服务 17->输入msdtc -install重新安装MSDTC服务 18->确认在事件查看器中msdtc服务已经正常启动 19->如果没有正常工作,请重新执行第17步骤,多执行几次,这样我们可以看到COM+应用程序可以访问,如果不能重启电脑看下,IIS也应该能正常工作,刷新http://localhost/,刷新页面看下是否成功,如果还是不成功的话,就把IIS重新安装一下。 20->问题解决。
全栈程序员站长
2022/09/22
3.7K0
PHP 报500 内部错误不抛出错误信息
访问其余文件能正常访问,只是在某个分组下事出现了500错误,主要是没抛出具体的错误信息。
槽痞
2020/06/23
2K0
IIS 运行ASP文件500内部错误解决方法大全
  1 IIS服务器出现500错误   2错误原因:500错误的原因一般是源程序出现错误造成的。   3 解决办法:1 首先设置IE浏览器à工具->Internet选项   2 刷新或者重新打开500
会长君
2023/04/26
3K0
如何发现内部威胁
之前,爱德华·斯诺登(Edward Snowden)的第一次曝光事件出现时,这是关于隐私和监视辩论的分水岭。对于数据安全行业,他的行为表明内部威胁仍然难以检测和预防。然而,在最初披露公开后的两年内,有关企业缺乏处理此类数据泄露的能力的信息尚未被披露。事实上,我们只需要看看最近摩根士丹利(Morgan Stanley)的数据泄露事件,看看当另一个“值得信赖的”内部人士变得不守规矩时会发生什么。
双愚
2018/07/23
9500
ubuntu如何修复引导
****前言:**** 今晚快要下班的时候,cp文件夹到U盘里面,由于文件过大并且里面的文件都是代码小文件,想想接近700M大有多少小文件,然而电脑就发烧式的发烫,真不敢想象呢,前所未有的发热,于是我就想关机来让电脑来歇歇,万万没想到的就是,电脑关机出现异常了,这时候我已经意识到电脑maybe出了问题。然后我就立马开机,果然不出我所料,电脑系统进不了了。来公司前我安装了linux+win双系统,电脑开机默认进入的是win系统,看到提示,感觉是win除了问题,真是奇怪:上次使用win系统都没有问题的,让你w
AlicFeng
2018/06/08
9.5K0
如何修复云监控
云监控异常的常见原因有:云监控组件对应的2个服务BaradAgentSvc、StargateSvc 未安装完整,比如漏了其中1个。或者是更改了默认dns导致内网域名解析有问题进而影响了数据上报。vpc机器的dns至少需要有一个是vpc默认2个DNS之一(183.60.83.19、183.60.82.98),基础网络机器需要确保第一个dns是对应可用区的内网默认DNS。另外,基础网络tat必须卸载,基础网络tat可能影响所有跟网络相关的服务。
Windows技术交流
2021/07/21
4.7K0
HTTP 500内部服务器错误的解决方法(重装IIS)
1. 运行:regsvr32 %windir%/system32/vbscript.dll (其实这一步也可以省,确保万一,还是执行吧)
会长君
2023/04/26
1.9K0
Exchange Server无法登录ECP,显示500意外错误?修复经验分享给你
有一客户的Exchange Server出问题了,Outlook客户端突然无法收发邮件,而且连OWA都无法登录,管理员想登录管理后台的时候才发现,输入管理员账号和密码后,ECP管理界面直接崩溃了,只显示500意外错误,一时无从查起。
IT狂人日志
2022/05/18
2.8K0
Exchange Server无法登录ECP,显示500意外错误?修复经验分享给你
网站漏洞修复对如何修复phpcms网站漏洞
SINE安全公司在对phpcms2008网站代码进行安全检测与审计的时候发现该phpcms存在远程代码写入缓存文件的一个SQL注入漏洞,该phpcms漏洞危害较大,可以导致网站被黑,以及服务器遭受黑客的攻击,关于这次发现的phpcms漏洞细节以及如何利用提权我们来详细剖析。
技术分享达人
2018/12/03
5.8K0
点击加载更多

相似问题

如何修复Amadeus 500内部错误?

12

如何修复spring boot中500内部错误

144

如何修复内部服务器错误500

11

如何用水瓶/Heroku修复500内部错误?

16

http 500内部服务器错误如何修复

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档