angular - Angular 9.1.x,数百条路线运行良好,少一条
问题描述
更新:问题不在于 API,而在于 Angular。请参阅下面的答案。
我有一个应用程序工作多年,我从来没有遇到过路线问题。上周末,在部署了一些更新后,我发现其中一条路由根本没有被调用。
我失去了周末试图调试,但我找不到任何东西。该路线根本没有被调用。Laravel 没有收到任何请求。
它是记录的包含,就像其他几十个已经存在的包含一样。没什么不同。
我改变了路线的顺序。我从 put 更改为 post,反之亦然。我更改了班级的名称。我更改了控制器的名称。我对客户端进行了更改(Angular 9)。这些都不起作用,服务器和客户端不显示任何类型的错误。它只是行不通。
在同一个控制器中,所有其他路由都可以正常工作,用于删除、更新、导出、打印等......
我还创建了中间件来查看所有到达服务器的请求并且什么都没有出现......
有什么建议吗?
我所有的路线都有这种结构......
Route::group([
'middleware' => ['auth:api'],
'prefix' => 'prefix-route'
], function () {
Route::post('route-name', 'ControllerName@addRegister');
});
而我的控制器是这样的......(我没有放Trait,因为事实并非如此)
public function addRegister(Request $request)
{
$response = $this->methodName($request['data']);
return response()->json($response, $this->sucessStatus);
}
我更改名称只是为了简化理解。
我感谢任何帮助或提示!
当然,一切都在开发环境中完美运行!
解决方案
我发现错误是因为我忘记将参数作为字符串传递给 POST,其中一个是作为对象发送的,没有正确的 JSON.stringify()。
我无法理解的是为什么 Angular 没有“抱怨”任何事情。没有消息?没有警告?
我没有收到错误消息(实时或编译),在开发中一切正常,但在生产中却没有。
推荐阅读
- javascript - javascript 没有从 html 和 php 中获取所有值
- c++ - 用二进制模式和文本模式写一个字符串
- ruby - 当我运行 pod install 时,我收到无法找到 gem cocoapods 的消息。我该如何解决这个问题?
- python - 如何让python在linux上用管道读取tcpdump捕获的.pcap数据?
- python - 合并 Pandas DataFrame 的字典
- javascript - var 在 NodeJs 模块中属于哪个对象?
- c# - 如何将串联的数组值返回到标签?
- amp-html - 仅内容的 AMP 页面阅读进度
- android - Android 拍照缩略图代码不再工作?
- windows - 如何使用用户名预填充用户名字段?