شرکتی که شما در آن کار میکنید پروژهای مبتنی بر وب را برای یک کتابخانه آغاز کرده است و مقداری از کدهای سمت client را نوشته است. از شما خواسته شده تا این بخش را تکمیل کنید.
پروژه را از اینجا دانلود کنید و از حالت فشرده خارج کنید.
برای اجرا، به جای باز کردن مستقیم index.html
با مرورگر، حتماً پوشه اصلی پروژه را به وسیله یک وبسرور سرو کنید. یک راه ساده برای این کار استفاده از وبسرور پایتون است.
با پایتون ۲:
با پایتون ۳:
با این دستورات، پوشه پروژه بر روی پورت ۸۰۰۰ سرو میشود. با مراجعه به آدرس localhost:8000
پروژه را مشاهده کنید و صفحات مختلف آن را ببینید.
همانطور که میبینید ۳ صفحه وجود دارد:
http://localhost:8000/#
.http://localhost:8000/#book/BOOK_ID
.http://localhost:8000/#genre/GENRE_NAME
.اما مشکلی که وجود دارد این است که محتوای تمام این صفحات static است. از شما خواسته شده تا پروژه را طوری تغییر دهید که محتوای صفحات با درخواست ajax از localhost:8000/api
دریافت شود.
ابتدا کدهای پروژه را بخوانید و با نحوه کار پروژه آشنا شوید. همانطور که میبینید از کتابخانههای Hogan.js و Navigo استفاده شده است. با باز کردن فایل main.js
مشاهده میکنید که ۴ کار از شما به صورت TODO خواسته شده است. این ۴ کار را انجام دهید. سپس پروژه تکمیلشده را به صورت Zip فشرده کنید و به عنوان پاسخ آپلود کنید.
نمونههایی از پاسخ سرور API در پوشه api
قرار داده شده است. نگاهی به فایلهای این پوشه بیندارید. با توجه به این که پروژه را با وبسرور سرو کردهاید، با فایلهای این پوشه، API شبیهسازی شده است و میتوانید با jQuery.get یا توابع مشابه، به آدرسهای زیر درخواست ajax بفرستید و پاسخ آن را دریافت کنید:
برای آشنایی با ساختار JSON دریافتی از سرور نیز فایلهای موجود در پوشه api
را ببینید.
همچنین توجه کنید که وبسرور، نوع پاسخی که ارسال میکند را json تعیین نمیکند. بنابراین هنگام صدا زدن jQuery.get، نوع پاسخ موردانتظار (dataType) را json تعیین کنید. و یا این که خودتان متن JSON دریافتی را parse کنید.
دقت کنید که پروژه را به گونهای Zip کنید که فایل index.html
و پوشههای static
و templates
در ریشه فایل Zip قرار داشته باشند (داخل پوشه دیگری نباشند).