Angular中字符串参数传递异常变为[object object]求助
问题解决
问题出在你的DeletePhoto服务方法中,你错误地使用了{PhotoId}对象字面量,而非直接引用PhotoId变量。当字符串与对象拼接时,JavaScript会自动将对象转换为"[object Object]",这就是你看到异常输出的原因。
修正后的服务代码
DeletePhoto(PhotoId:string) { console.log("fired with: " + PhotoId) return this.http.delete(this.baseUrl + 'deletePhoto/' + PhotoId); }
补充说明
你之前在组件中尝试的JSON.stringify或toString()操作无效,是因为组件传递给服务的photoId本身就是正确的字符串值,问题根源在服务层——你错误地将变量包装成了对象,导致日志打印和URL拼接时都使用了对象的默认字符串形式。调试器中看到的正确值是组件内的photoId,但到服务层后被错误处理,最终传递到后端的就是对象的字符串表示。
内容的提问来源于stack exchange,提问作者EnderBromson
相关产品推荐
相关产品推荐

