سلام دوستان
من دارم یک پروژه انگیولاری می نویسم که در سمت سرور یک api دارم از نوع httppost بدین صورت :
[Route("api/currency/add")] [HttpPost] public string add(object entity) { return "ok!"; }
اما در سمت انگیولار هر کاری می کنم و هر جور تغییری که می دم مدام میگه ارور 404 و این url را پیدا نمی کنه!!!
در صورتیکه توی یک پروژه جی کوئری و ایجکس که دارم و همین متد را استفاده می کنم اصلا چنین مشکلی نیست!
ممنون راهنمایی سازنده بفرمایید
دستور زیر را از طریق nuget در پروژه api اجرا کنید حل میشه
Install-Package Microsoft.AspNet.WebApi.Cors –IncludePrerelease
سلام بر حضرت ایمان عزیز
مشکل از عدم subscribe صحیح بود. مساله حل شد خداراشکر.
اما نکته ی دیگری برایم پیش آمده است. من می خواهم در متد ورودی یک فانکشن دیگر دیرفات کنه و در قسمت subscribe اون فانکشن ورودی را اجرا کنه. فانکشن هم در واقع برای رفرش کردن یک گرید است اما متاسفانه نمی شناد.
post(url: string, entity: any,callback:Function ) { url = this.defaultUrl + url; console.log(callback); var reqHeader = new HttpHeaders({ "Content-Type": "application/json" }); return this.http .post(url, entity, { headers: reqHeader }) .subscribe( res=>callback ); }
اما وقتی به جای callback در هنگام ورودی متد رفرش کردن گرید را می گذارم هیچ اقدامی نمی کند.
راهنمایی بفرمایید لطفا
قست ذدی گرید را function کنید و در subscribe ففراخوانی کنید
ngOnInit(): void{ this.route.params.map((param: Params) => param['id']).switchMap(res => { this.newsId = res; return this.api.getNewsbyId(res); }).subscribe(res => this.news = res); this.LoadComment(); } LoadComment() { this.api.getAllCommments(this.newsId).subscribe(res => this.comments = res); }
بله چیزی شبیه به این روش را قبلا انجام دادم و درست هم جواب میده منتها من دارم از یک کامپوننت به یک سرویس دیگه می فرستم که اون سرویس وضیفه اش add کردن هر چیزی است که بهش بدم.
می خوام مثلا همین LoadComment شما را بدم به یک سرویس دیگر که اونجا یک متد داره به اسم post و بعد از اینکه اون با موفقیت صورت گرفت این متد LoadComment را اجرا کنه!!!
باید از Output ها استفاده کنید تا به اون کامپوننت اطلاع بدید
توضیحش واقعا سخته
یه نمونه براتون ضمیمه میکنم امیدوارم کمک کنه
ممنونو با تشکر فراوان از حسن نیت شما
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)