c rossb rowser และไลบรารีที่เข้ากันได้กับการส่งต่ออย่างแท้จริงเพื่อทำคำขอ HTTP แบบอะซิงโครนัสที่เป็นไปตามรูปแบบ c all back ack
npm install --save cb-fetch
yarn add cb-fetch
jspm install cb-fetch
bower install --save cb-fetch
< script src = " //cdn.jsdelivr.net/combine/npm/@string/isstring/isString.min.js,npm/cb-fetch/index.min.js " type = " text/javascript " ></ script >
define(function (require) {
var request = require('cb-fetch');
});
var request = require('cb-fetch')['default'];
var request = require('cb-fetch');
YUI({
modules: { 'is-string': 'path/to/@string/isstring.js' }
}).use('is-string', 'cb-fetch', function (Y) {
var request = Y['default'];
});
import request = require('cb-fetch');
หากไม่มีการสนับสนุนวิธีการลงทะเบียนโมดูลที่ระบุไว้ก่อนหน้านี้ ตัวแปรโกลบอลที่ชื่อ request
จะถูกเปิดเผย
// here's your typical request
request ( 'http://www.example.com?key1=value1&key2=value2' )
. done ( response => { /* … */ } ) ;
// taking a comprehensive approach is encouraged though
request ( )
. get ( 'http://www.example.com' )
. query ( 'key1=value1&key2=value2' )
. done ( onSuccessCallback , onErrorCallback ) ;
// passing an object offers options not available otherwise
let abort = request ( {
url : new URL ( 'http://www.example.com' ) ,
parameters : new URLSearchParams ( '_csrf=TOKEN' ) ,
mode : 'cors' ,
credentials : 'include' ,
responseType : 'json'
} ) . get ( '/segment' )
. query ( { foo : [ 'bar' , 'qux' ] } )
. pass ( 'Content-Type' , 'application/json' )
. hook ( 'download' , e => { /* … */ } )
. done ( {
success : onSuccessCallback ,
error : onErrorCallback ,
abort : onAbortCallback
} ) ;
// forcefully aborts the request
abort ( ) ;
fetch
XMLHttpRequest
XDomainRequest
(Options.url?) => Object
(Options.parameters?) => Object
(Options.body?) => Object
('loadstart', () => Boolean | Void) => Object
('download', Object => Any) => Object
('loadend', () => Any) => Object
{
(name: String, value: String),
(headers: Object | Headers)
} => Object
// assigns
. pass ( new Headers ( { key : 'value' } ) )
// appends
. pass ( { key : 'value' } )
// sets
. pass ( 'key' , 'value' )
{
(onSuccess?: Function, onError?: Function),
({
success?: Function,
error?: Function,
timeout?: Function,
abort?: Function
})
} => () => Void,
throws: TypeError
คุณสมบัติ | ค่าเริ่มต้น | ค่า |
---|---|---|
ร่างกาย | โมฆะ | BufferSource, Blob, Document², FormData, สตริง, URLSearchParams, ReadableStream |
ข้อมูลรับรอง | 'ต้นกำเนิดเดียวกัน' | 'รวม', 'ละเว้น'⁶, 'ต้นกำเนิดเดียวกัน' |
ส่วนหัว | - | วัตถุ ส่วนหัว³ |
วิธี | 'รับ' | สตริง |
โหมด | 'ต้นกำเนิดเดียวกัน' | 'cors', 'no-cors'¹, 'ต้นกำเนิดเดียวกัน' |
รหัสผ่าน | โมฆะ | สตริง |
พารามิเตอร์ | URLSearchParams วัตถุ สตริง | |
การตอบสนองMediaType² | สตริง | |
ประเภทการตอบสนอง | 'ข้อความ', 'json', 'หยด', 'เอกสาร', 'arraybuffer', 'formdata'¹, 'moz-blob', 'moz-chunked-arraybuffer', 'moz-chunked-text', 'msxml- เอกสาร' | |
หมดเวลา | 0 | ℕ |
ชื่อผู้ใช้ | โมฆะ | สตริง |
URL | location.href | สตริง, URL |
หลายส่วน⁷ | เท็จ | บูลีน |
การขุดอุโมงค์⁵ | เท็จ | บูลีน |
XSLPรูปแบบ⁴ | เท็จ | บูลีน |
คุณสมบัติ | พิมพ์ |
---|---|
ก้อน | สตริง, ArrayBuffer, Blob, Uint8Array, null |
รวม | สตริง, ArrayBuffer, Blob, Uint8Array, null |
โหลดแล้ว | ℕ |
ทั้งหมด | ℕ |
ความยาวคำนวณได้ | บูลีน |
คุณสมบัติ | พิมพ์ |
---|---|
ร่างกาย | วัตถุ, สตริง, เอกสาร, ArrayBuffer, Blob, FormData¹, ReadableStream¹, null |
ส่วนหัว | วัตถุ |
ตัวอย่าง | XMLHttpRequest, XDomainRequest, ตอบกลับ, AnonXMLHttpRequest |
รหัสสถานะ | ℕ |
ข้อความสถานะ | สตริง |
URL | สตริง |
¹ ดึงข้อมูลเท่านั้น
² XHR เท่านั้น
³ ยกเว้นตุ๊กแก 34–43
⁴ MSXML 3.0 เท่านั้น
⁵ แทนที่วิธีการ
⁶ ดึงข้อมูล, ตุ๊กแก 16+, Presto/2.10.232–2.12.423
⁷ ตุ๊กแก 1.7β–22
delete
คำสำคัญที่สงวนไว้ในสภาพแวดล้อมก่อน ES5 วิธีการลบจำเป็นต้องใช้เครื่องหมายวงเล็บเหลี่ยม
เพื่อให้เบราว์เซอร์ที่ขับเคลื่อนโดย Gecko 1.9.1–20 มีส่วนหัวการตอบกลับที่ถูกเปิดเผยเติมลงในคุณสมบัติ headers
ต้องเป็นไปตามเงื่อนไขต่อไปนี้:
Access-Control-Expose-Headers
จะเปิดเผยตัวเองAccess-Control-Expose-Headers
ไม่ใช่ *
mode
ถูกตั้งค่าเป็น cors
XDomainRequest
Access-Control-Allow-Origin
ของ *
หรือ URL ที่แน่นอนของเอกสารที่ร้องขอ การตั้งค่าเริ่มต้นของ Internet Explorer จะจำกัดการใช้คุกกี้ของบุคคล ที่ สาม เว้นแต่จะมีการประกาศนโยบายแบบกระชับ P3P ผ่านทางส่วนหัวการตอบสนอง HTTP ที่กำหนดเอง ด้วยเหตุนี้ โหมดข้อมูลรับรอง "include"
จึงไม่สามารถให้เกียรติได้อย่างสมบูรณ์หากถือว่าคุกกี้ไม่น่าพอใจ