Ajax提交FormData出现net::ERR_CONNECTION_RESET问题求助
解决Laravel中删除图片AJAX请求出现
net::ERR_CONNECTION_RESET的问题 先看你的两个JS函数,复制功能正常但删除请求触发连接重置,结合你用的Laravel+PHP7.0.1+OpenServer环境,我给你几个实操性的排查和解决方向:
1. 先排查PHP配置的资源限制
ERR_CONNECTION_RESET很多时候是服务器端脚本执行超时或内存耗尽导致的,哪怕删除逻辑看起来简单,也可能因为配置阈值太低触发问题:
- 打开OpenServer对应PHP7.0.1版本的
php.ini配置文件,检查这几个参数:max_execution_time:建议设置为60以上(默认可能只有30)memory_limit:至少设为128Mpost_max_size和upload_max_filesize:虽然你没传文件,但确保值足够(比如2M以上)
- 修改后重启OpenServer,再测试删除功能。
2. 确认Laravel的CSRF令牌是否正确传递
你的请求都是POST方法,Laravel默认强制CSRF验证,复制功能正常可能是无意中带了令牌,但删除请求漏了:
- 先确认页面头部有CSRF元标签:
<meta name="csrf-token" content="{{ csrf_token() }}"> - 在删除函数的AJAX请求里,把令牌加到FormData中:
或者在AJAX配置里添加请求头:formData.append('_token', $('meta[name="csrf-token"]').attr('content'));
很多时候Laravel拦截无CSRF的请求会引发这类连接异常。$.ajax({ // 其他配置... headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, // 其他配置... })
3. 查看服务器端日志定位具体错误
连接重置的根源几乎都在服务器端,看日志能直接找到问题:
- Laravel日志在项目的
storage/logs/laravel.log,找最近的错误条目,比如有没有SQL执行错误、文件删除时的权限不足、控制器代码报错 - OpenServer的站点日志在对应站点的
logs目录,或者面板的日志选项里,查看有没有500错误、连接中断的具体描述
4. 检查后端删除逻辑的PHP代码(基于常见坑点)
虽然你没贴后端代码,但结合场景给你几个排查点:
- 确保Laravel控制器正确获取FormData参数,比如用
$request->input('gal_id')或者$request->all()接收参数 - 删除文件时,确认文件路径正确,且服务器对目标目录有删除权限(比如
storage/app/public目录权限设为755) - 如果是批量删除,检查循环处理是否有异常(比如某个文件不存在导致脚本中断)
5. 用极简测试请求定位问题
先把删除逻辑简化,排除复杂代码的干扰:
- 写一个极简的测试接口,只接收
gal_id和单个image_id,不做实际删除,只返回成功响应 - 如果极简请求正常,再逐步加回批量处理、文件删除的逻辑,定位是哪一步触发的连接重置
另外,你删除函数里注释掉了打印响应的代码,可以先打开它,看看服务器到底返回了什么,也能帮你缩小排查范围。
内容的提问来源于stack exchange,提问作者Nikita
相关产品推荐
相关产品推荐

