آپلود کرد فایل با ajax در ASP.MVC - نسخه 2

در این پروژه ی نمونه در محیط ASP.MVC 4 تلاش می کنیم لیستی از فایلها را با کمک Ajax به سرور ارسال کنیم. در مسیر پیاده سازی این پروژه از HTML5 و بخش File API استفاده شده است. متاسفانه این قابلیت در مرورگر IE از نسخه ی 10 به بعد پشتیبانی میشود اما در سایر مرورگرها به خصوص کروم به طور کامل قابل استفاده است.


 

ادامه نوشته

آموزش آپلود عکس در ASP.MVC با AJAX

آپلود کردن فایلهای عکس به روش معمول HTML.BeginForm به راحتی صورت میگیرد. کافی است در سمت سرور از کلاس HttpPostedFileBase استفاده کنید و به راحتی به محتویات فایل دسترسی پیدا کنید. اما در روش AJAX با استفاده از Ajax.BeginForm امکان آپلود فایل وجود ندارد. دلیل عمده ی آن هم متکی بودن این روش بر بعضی قابلیت های HTML5 مانند FileReader است که در نسخه های قبلتر از IE10 پشتیبانی نمیشود.
در این برنامه ی نمونه ابتدا از کاربر میخواهیم عکسهای مورد نظر خودش را جهت آپلود انتخاب کند. سپس قبل از ارسال فایلها به سرور پیشنمایش آنها را در سمت کلاینت به انجام میرسانیم. سپس کاربر میتواند با زدن دکمه ی ثبت فایلها را به سرور ارسال کند.

 

ادامه نوشته

آشنایی با Ajax در ASP.MVC

AJAX چیست ؟
این کلمه مخفف عبارت asynchronous JavaScript and XML می باشد. این یعنی از جاوا اسکریپت و XML به صورت نامگام استفاده کنیم. منظور از ناهمگام بودن این است که درخواست شما به سرور ارسال میشود و بلافاصله به کاربر(Client) برگشت میکند. در این لحظه کاربر میتواند کار خود را در صفحه ی وب ادامه دهد. به محض اینکه پیامی از سمت سرور در پاسخ به درخواست دریافت شود مرورگر آن را به صفحه ی وب اطلاع میدهد.

کاربردها

درحالت معمول بعد از هر درخواست (Request) صفحه ی مرورگر تازه (Refresh) میشود. برای صفحات کم حجم ممکن است زیاد به نظر نرسد. اما در صفحه های شلوغ این کار برای چند لحظه ارتباط کاربر با صفحه ی وب را مختل میکند. AJAX باعث میشود بروز رسانی صفحه در پس زمینه صورت گیرد و کار کاربر نرم ادامه پیدا کند.
در خیلی از موارد نیاز داریم تنها بخشهایی از صفحه ی وب را بروز کنیم. اگر قرار باشد با هر بار تغییر نتیجه ی بازی فوتبال یا هر بار دریافت پیام همه ی صفحه را بروز کنیم علاوه بر اینکه صفحه در سمت کلایت برای مدتی از دسترس خارج میشود فشار زیادی به سرور وارد میکند. چرا که همه ی اطلاعات باید از نو خوانده شده و به سمت کاربر ارسال شود.
در نهایت AJAX هم سرعت کار با صفحه ی وب را افزایش میدهد و هم بار ترافیکی آن را کم میکند. همچنین طراحی UI را بسیار کاربر پسند تر میکند.

ادامه نوشته

AJAX : پیشنهادی که نمی توانید رد کنید!

حتما با پیشنهادهای گوگل برخورد داشته اید. همانی که هنگام تایپ هر حرف به سرعت لیستی از جستجوهای نزدیک را برای شما لیست می کند. علاوه بر این که کاربر را بسیار خشنود می کند( و گاهی هم باعث سرگرمی او می شود) از دید برنامه نویسان هم بسیار جالب و شگفت انگیز است.

اصولا در صفحات وب مشکل این است که برای بروز کردن اطلاعات می بایست همه ی محتویات صفحه را باز سازی کرد. در حقیقت آنچه به صفحه ی مرورگر شما میرسد حکم یک جسد را دارد که با دنیای درون سرور خواحافظی کرده و در برزخ شما گیر کرده است. جز بعضی ها که با JavaScript سعی می کنند جسد را مومیاییی کنند و جنگولک بازی سرش در آورند چیز دیگری از دستش بر نمی آید.

برای اینکه اطلاعات جدید صفحه را ببینید باید آن را بروز کنید. قابلیتی که در همه ی مرورگر ها با دکمه ی Refresh ممکن می شود. مثلا وقتی قدیمها می خواستید نتایج فوتبال را به صورت زنده در وب دنبال کنید باید هر چند دقیقه یکبار اینکار را می کردید تا آخرین نتایج نمایش داده شوند.

 حالا اینکه چطور یک صفحه ی وب (گوگل) به این سرعت نوشته های کاربران را در بانک اطلاعاتی خودش جستجو و به صورت لیست نمایش میدهد یک کار بسیار ظریف و هوشمندانه است.

تکنولوژی که چنین کاری را ممکن ساخته با نام AJAX شناخته می شود. که مخفف عبارت Asynchronous JavaScript and XML  می باشد. با استفاده از AJAX یک صفحه ی وب می تواند در پس زمینه درخواستهایی را به سرور ارسال کند و مقادیر بازگشتی از سرور را را نمایش دهد.

امروز دنیای وب با کمک AJAX جای بهتری برای گردش کردن شده است. شما می توانید انواع صفحات وب را ببینید که قسمتهای مختلف آن به صورت خوکار بروز میشوند. صفحه ی وب امروز حتی می تواند بعد از هر گل برای تیمتان هورا هم بکشد !