روش جهانی Fetch () فرایند واکشی یک منبع از شبکه را آغاز می کند و وعده ای را که پس از پاسخ پاسخ انجام می شود ، بازگرداند.
این وعده به شیء پاسخ نشان می دهد که پاسخ به درخواست شما را نشان می دهد.
یک وعده () قول فقط در صورت مواجه شدن با خطای شبکه (که معمولاً در صورت وجود مجوزها یا موارد مشابه وجود دارد) رد می شود. یک وعده () وعده در مورد خطاهای HTTP (404 و غیره) رد نمی شود. در عوض ، یک کنترل کننده سپس () باید خصوصیات پاسخ . ok و/یا پاسخ را بررسی کند.
WindoworWorkerGlobalScope توسط Window و WorkerGlobalScope اجرا می شود ، به این معنی که روش Fetch () تقریباً در هر زمینه ای موجود است که در آن ممکن است بخواهید منابع را بدست آورید.
روش Fetch () توسط دستورالعمل Connect-SRC سیاست امنیت محتوا به جای دستورالعمل منابعی که بازیابی می کند کنترل می شود.
توجه: پارامترهای روش Fetch () با سازنده درخواست () یکسان است.
نحو
رفتن و آوردن(منبع) رفتن و آوردن(منبع,گزینه ها)
مولفه های
منبع
این منبعی را که می خواهید واکشی کنید تعریف می کند. این می تواند باشد:
- یک رشته یا هر شیء دیگر با یک رشته ای - از جمله یک شیء URL - که URL منبعی را که می خواهید واکشی کنید فراهم می کند.
- یک شی درخواست
یک شیء حاوی هر تنظیمات سفارشی که می خواهید برای درخواست درخواست کنید. گزینه های احتمالی عبارتند از:
روش درخواست ، به عنوان مثال ، دریافت ، ارسال. توجه داشته باشید که هدر مبدا بر روی درخواست های واکشی با روش سر یا دریافت تنظیم نشده است.(این رفتار در Firefox 65 اصلاح شد-به Firefox Bug 1508661 مراجعه کنید.) هر رشته ای که یک مسابقه حساس برای یکی از روشهای RFC 9110 باشد ، به طور خودکار برپا می شود. اگر می خواهید از یک روش سفارشی (مانند پچ) استفاده کنید ، باید خودتان آن را بزرگ کنید.
هر هدره ای که می خواهید به درخواست خود اضافه کنید ، موجود در یک شیء هدر یا یک شیء تحت اللفظی با مقادیر رشته. توجه داشته باشید که برخی از نام ها ممنوع است.
توجه: هدر مجوز HTTP ممکن است به یک درخواست اضافه شود ، اما در صورت هدایت درخواست به صورت متقاطع ، حذف می شود.
بدنه
هر جسمی که می خواهید به درخواست خود اضافه کنید: این می تواند یک حباب ، یک آرایه ، یک تایپ ، یک دیتاوی ، یک فرمداتا ، یک urlsearchparams ، شیء رشته یا تحت اللفظی یا یک شیء readablestream باشد. این آخرین احتمال هنوز تجربی است. اطلاعات سازگاری را بررسی کنید تا تأیید کنید که می توانید از آن استفاده کنید. توجه داشته باشید که درخواست با استفاده از روش GET یا HEAD نمی تواند بدنه داشته باشد.
روشی که می خواهید برای درخواست ، به عنوان مثال ، CORS ، NO-CORS یا همان منشی استفاده کنید.
آنچه مرورگرها را با اعتبار (کوکی ها ، ورودی های تأیید هویت HTTP و گواهینامه های مشتری TLS) کنترل می کند ، کنترل می کند. باید یکی از رشته های زیر باشد:
به مرورگرها می گوید که اعتبار را از درخواست حذف کنند و هرگونه اعتبار ارسال شده در پاسخ را نادیده بگیرند (به عنوان مثال ، هر عنوان مجموعه ای از آشپزی).
به مرورگرها می گوید اعتبارنامه هایی را با درخواست به URL های همان منبعی درج کنند و از هرگونه اعتبار ارسال شده در پاسخ های URL های همان منبعی استفاده کنند. این مقدار پیش فرض است.
به مرورگرها می گوید که اعتبارنامه ها را در هر دو درخواست هموار و متقاطع درج کنند و همیشه از هرگونه اعتبار ارسال شده در پاسخ استفاده کنید.
توجه: اعتبارنامه ممکن است در درخواست های متقاطع ساده و "نهایی" گنجانده شود ، اما نباید در درخواست های پیش از پرواز CORS گنجانده شود.
مخازن
رشته ای که نشان می دهد چگونه درخواست با حافظه نهان HTTP مرورگر تعامل خواهد داشت. مقادیر احتمالی ، پیش فرض ، بدون فروشگاه ، بارگیری مجدد ، بدون محافظت از ماشین ، و فقط-IF کچل ، در مقاله برای ویژگی حافظه نهان شیء درخواست ثبت شده است.
نحوه پاسخگویی به یک پاسخ تغییر مسیر:
- دنبال کنید: به طور خودکار Redirects را دنبال کنید. مگر در مواردی که بیان شده است ، حالت تغییر مسیر تنظیم شده است.
- خطا: در صورت بروز تغییر مسیر ، با خطایی سقط کنید.
- دفترچه راهنما: تماس گیرنده قصد دارد پاسخ را در یک زمینه دیگر پردازش کند. برای اطلاعات بیشتر به استاندارد Whatwg Fetch مراجعه کنید.
رشته ای که مراجعه کننده درخواست را مشخص می کند. این می تواند یک URL همان منبعی باشد ، در مورد: مشتری یا یک رشته خالی.
خط مشی مراجعه کننده را برای استفاده برای درخواست مشخص می کند. ممکن است یکی از مرجع های بدون مراجعه کننده ، بدون مراجعه کننده در هنگام پایین آمدن ، همان منشأ ، مبدا ، منشأ سخت ، مبدا-در هنگام-منشأ-منشأ ، سختگیر- در حالی که اوریجین ، یا ناامن است ، باشد.
حاوی مقدار یکپارچگی Subresource درخواست (به عنوان مثال ، SHA256-BPFBW7VVVVV8Q2JLIT13FXDYAE2TJLLUSRSZ273H2NFSE =).
از گزینه KeepAlive می توان استفاده کرد تا درخواست از صفحه بیشتر شود. واکشی با پرچم نگهدارنده جایگزینی برای navigator. sendbeacon () API است.
یک نمونه شیء سقط جنین ؛به شما امکان می دهد با یک درخواست واکشی ارتباط برقرار کنید و در صورت تمایل از طریق یک دستگاه گوارش ، آن را سقط کنید.
اولویت درخواست واکشی را نسبت به سایر درخواست های همان نوع مشخص می کند. باید یکی از رشته های زیر باشد:
- بالا: درخواست واکشی با اولویت بالا نسبت به سایر درخواست های همان نوع.
- کم: درخواست واکشی با اولویت پایین نسبت به سایر درخواست های همان نوع.
- AUTO: به طور خودکار اولویت درخواست FETCH را نسبت به سایر درخواست های همان نوع (پیش فرض) تعیین کنید.
مقدار بازگشت
قولی که به یک شی پاسخ حل می شود.
استثناها
Domexception aborterror
این درخواست به دلیل تماس با روش AbortController Abort () سقط شد.
به دلایل زیر می تواند رخ دهد:
// فضا در هدر "نوع C ontent" =<'C ontent-Type': 'text/xml', 'Breaking-Bad': '; fetch('https://example.com/', );const headers = [["نوع محتوا" ، "متن/html" ، "اضافی"] ، ['پذیرش'] ،] ؛Fetch ('https://example. com/' ،);واکشی ('blob: //example. com/' ،);Fetch ('https: // کاربر: password@example. com/') ؛Fetch ('https://example. com/' ،);Fetch ('https://example. com/' ،);Fetch ('https://example. com/' ،);Fetch ('https://example. com/' ،);Fetch ('https://example. com/' ،);Fetch ('https://example. com/' ،);مثال ها
در مثال درخواست FETCH ما (به Fetch Request Live مراجعه کنید) ما با استفاده از سازنده مربوطه ، یک شیء درخواست جدید ایجاد می کنیم ، سپس با استفاده از تماس Fetch () آن را واکشی می کنیم. از آنجا که ما یک تصویر را واکشی می کنیم ، پاسخ را اجرا می کنیم. blob () در پاسخ به آن نوع تقلید مناسب می دهیم تا به درستی اداره شود ، سپس یک URL شیء از آن ایجاد کنید و آن را در یک عنصر نمایش دهید.
محاصره کردنامیج=مدرک.پرسنل("img"); محاصره کردندرخواست من= جدید درخواست("flowers. jpg"); رفتن و آوردن(درخواست من) .سپس((واکنش) => if (!واکنش.ok) پرت كردن جدید خطا(`خطای HTTP! وضعیت: $ پاسخ.وضعیت>`); > برگشتواکنش.مگس(); >) .سپس((واکنش) => امیج.SRC= url.CreateObjecturl(واکنش); >);
در Fetch with Init سپس درخواست را به عنوان مثال (به درخواست Fetch Init Live مراجعه کنید) ، ما همین کار را انجام می دهیم به جز اینکه هنگام استناد به Fetch () در یک شیء INIT عبور می کنیم ():
محاصره کردنامیج=مدرک.پرسنل("img"); محاصره کردنسرودرز= جدید عناوین();سرودرز.ضمیمه کردن("تایید کنید", "تصویر/jpeg"); محاصره کردنمیهن= روش: "گرفتن", عناوین:سرودرز, حالت: "cors", مخازن: "پیش فرض", >; محاصره کردندرخواست من= جدید درخواست("flowers. jpg"); رفتن و آوردن(درخواست من,میهن).سپس((واکنش) => // … >);
همچنین می توانید شیء اولیه را با سازنده درخواست وارد کنید تا همان تأثیر را بدست آورید:
محاصره کردندرخواست من= جدید درخواست("flowers. jpg",میهن);
همچنین می توانید از یک شیء تحت اللفظی به عنوان عنوان در Init استفاده کنید.
محاصره کردنمیهن= روش: "گرفتن", عناوین: تایید کنید: "تصویر/jpeg", >, حالت: "cors", مخازن: "پیش فرض", >; محاصره کردندرخواست من= جدید درخواست("flowers. jpg",میهن);
مشخصات فنی
| مشخصات |
| استاندارد واکشی# روش واکشی |
سازگاری مرورگر
جداول BCD فقط در مرورگر بارگیری می شود
همچنین ببینید
- API واکشی
- API کارگر سرویس
- کنترل دسترسی HTTP (CORS)
- HTTP
با این صفحه مشکل محتوا پیدا کرده اید؟
- صفحه را در GitHub ویرایش کنید.
- گزارش محتوا را گزارش دهید.
- منبع را در GitHub مشاهده کنید.
این صفحه آخرین بار در 8 آوریل 2023 توسط همکاران MDN اصلاح شد.
طرح شما برای اینترنت بهتر.
مگد
حمایت کردن
جوامع ما
توسعه دهنده
- فن آوری های وب
- توسعه وب را بیاموزید
- MDN به علاوه
- اطلاعیه حریم خصوصی وب سایت
- بیسکویت ها
- مجاز
- دستورالعمل مشارکت جامعه
به والدین غیر انتفاعی شرکت موزیلا ، بنیاد موزیلا مراجعه کنید. بخش هایی از این محتوا © 1998 - 2023 توسط مشارکت کنندگان mozilla. org است. محتوای موجود تحت مجوز Creative Commons.
تجارت با گزینههای باینری...
ما را در سایت تجارت با گزینههای باینری دنبال می کنید
برچسب :
نویسنده : نازنین فراهانی
بازدید : 31
تاريخ : چهارشنبه
25 مرداد
1402 ساعت: 14:19