Angular+Java项目URL有效但HTTP请求未发往服务器,是否与Formly有关
问题排查结论
首要原因
你在subscribe订阅请求之后立刻执行了subs.unsubscribe(),Angular的HttpClient发起的是异步请求,订阅刚注册就被取消,请求还没来得及发送就被终止了,所以网络面板看不到请求记录,成功/失败回调也都不会触发。
这行多余的subs.unsubscribe()是导致问题的核心原因,直接删除即可正常发送请求。如果担心内存泄漏,可以在请求的管道中加take(1)操作符,或者在组件ngOnDestroy生命周期钩子中统一管理订阅批量取消。
其他低概率排查方向
如果删除后仍有问题,可以检查以下几点:
- 全局HTTP拦截器逻辑:是否有自定义拦截器匹配到该请求路径后直接终止了请求,比如权限校验不通过时直接返回空、没有放行请求
- 模块导入配置:确认根模块或对应功能模块已经正确导入
HttpClientModule,未导入的情况下HttpClient不会真正发起网络请求 - 提交后逻辑:是否在
onSubmit执行后立刻触发了路由跳转、组件销毁逻辑,组件销毁会自动取消所有未完成的订阅,也会导致请求发送失败
和Angular Formly无关
你的updateData方法中已经可以正常打印出预期的请求参数,说明Formly的表单数据采集、绑定流程完全正常,问题和Formly没有任何关系。
内容的提问来源于stack exchange,提问作者Black Swan
相关产品推荐
相关产品推荐

