here is my sharepoint service.ts angular component code
i have my form code deployed in my sharepoint
i want to post the data to my sharepoint list ,
here i am able to fetch data from sharepoint list and unable to post the data
in my console getting below error
polyfills.js:1
POST https://sharepoint-base-url/_api/web/lists/getbytitle(‘list-name’)/items 400 (Bad Request)
export class SharepointService {
private BaseUrl = 'sharepoint-url';
private listName = 'list-name';
private urlEncoder: HttpUrlEncodingCodec;
private userIdSource = new BehaviorSubject<string | undefined>(undefined);
userId = this.userIdSource.asObservable();
private usernameSource = new BehaviorSubject<string>('');
currentUsername = this.usernameSource.asObservable();
private projectSource = new BehaviorSubject<string>('');
currentProject = this.projectSource.asObservable();
constructor(private http: HttpClient) {
this.urlEncoder = new HttpUrlEncodingCodec();
}
changeUsername(username: string) {
this.usernameSource.next(username);
}
changeProject(project: string) {
this.projectSource.next(project);
}
getData(): Observable<any> {
const headers = new HttpHeaders({
'Content-Type': 'application/json',
Accept: 'application/json;odata=verbose',
'Access-Control-Allow-Origin': '*',
});
return this.http
.get<any>(
`${this.BaseUrl}/_api/web/lists/getbytitle('${this.listName}')/items`,
{ headers }
)
.pipe(
tap((data) => console.log('Data from SharePoint:', data)),
catchError((error: any) => {
console.error('Error fetching data from SharePoint:', error);
return throwError(error);
})
);
}
// postData(formData: any): Observable<any> {
// let url = `${this.BaseUrl}/_api/web/lists/getbytitle('${this.listName}')/items`;
// const headers = new HttpHeaders({
// 'Content-Type': 'application/json',
// 'Accept': 'application/json;odata=verbose',
// 'Access-Control-Allow-Origin': '*',
// });
// const dataToPost = {
// Title: formData.userid,
// Level: formData.level,
// Project: formData.projectClient,
// };
// console.log('Data to post:', dataToPost);
// return this.http.post<any>(url, dataToPost, { headers });
// // return this.http.post<any>(`${this.BaseUrl}/_api/web/lists/getbytitle('${this.listName}')/items?$select=enterprise ID`, { headers });
// }
// }
postData(formData: any): Observable<any> {
const url = `${this.BaseUrl}/_api/web/lists/getbytitle('${this.listName}')/items`;
const digestUrl = `${this.BaseUrl}/_api/contextinfo`;
return this.http
.post<any>(
digestUrl,
{},
{ headers: { Accept: 'application/json;odata=verbose' } }
)
.pipe(
switchMap((digestData) => {
const digestValue =
digestData.d.GetContextWebInformation.FormDigestValue;
const headers = new HttpHeaders({
'Content-Type': 'application/json',
Accept: 'application/json;odata=verbose',
'Access-Control-Allow-Origin': '*',
'X-RequestDigest': digestValue,
});
const dataToPost = {
Title: formData.username,
Project: formData.project,
};
console.log('Data to post:', dataToPost);
return this.http.post<any>(url, dataToPost, { headers });
})
);
}
}
I need solution for the below error in my sharepoint console
polyfills.js:1
POST https://sharepoint-url/_api/web/lists/getbytitle(‘list-name’)/items 400 (Bad Request)