我正在使用Angular、Nest Js和MongoDB创建一个CRUD服务。
当我将FormData从Angular(前端)发送到Nest Js(后端)时,但FormData为空。
为什么FormData不发送任何数据?
- 〉〉〉图像Angular 控制台〈〈〈*
第一节第一节第一节第一节第一次
- 〉〉〉图像嵌套J控制台〈〈〈*
〉〉〉角锉
项目服务ts
interface Form {
nameForm:string;
detailForm:string
}
@Injectable({
providedIn: 'root'
})
export class ProjectService {
REST_API:string = 'http://localhost:3000/api';
constructor(private http:HttpClient) { }
createProject(projectForm:Form){
const projectData = new FormData();
projectData.append('name',projectForm.nameForm)
projectData.append('detail',projectForm.detailForm)
// FormData has name and detail data.
projectData.forEach((value,key) => {
console.log(key+" "+value)
});
let API_URL = `${this.REST_API}/projects`
this.http.post(API_URL,projectData).subscribe()
}
}
〉〉〉嵌套js文件
项目.控制器.ts
@Controller('projects')
export class ProjectsController {
constructor(private readonly projectsService: ProjectsService) {}
@Post()
create(@Body() createProjectDto: CreateProjectDto) {
console.log('in controller',createProjectDto)
return this.projectsService.create(createProjectDto);
}
}
创建项目.日期到.ts
export class CreateProjectDto {
name:string;
detail:string
}
项目服务ts
@Injectable()
export class ProjectsService {
constructor(@InjectModel(Project.name) private projectModel:Model<ProjectDocument>) {}
create(createProjectDto: CreateProjectDto) {
const createdProject = new this.projectModel(createProjectDto)
return createdProject.save()
}
}
2条答案
按热度按时间mlmc2os51#
如果必须传递formData对象,可以使用nestjs-form-data模块,更方便的解决方案是传递json对象
unftdfkk2#
在上载请求nestjs上使用此