色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue resource的jsonp

錢諍諍1年前8瀏覽0評論

JSONP是一種解決跨域問題的方案??缬蚴怯捎跒g覽器同源策略的限制導(dǎo)致的,同源是指協(xié)議、域名、端口號完全相同。如果一個網(wǎng)站需要訪問不同源的資源,就必須將資源放到第三方中轉(zhuǎn)站,通過跨域方式獲取。

Vue.http.jsonp(url[, options]).then(successCallback, errorCallback);
參數(shù):
url:請求URL
options:請求配置
jsonp:指定回調(diào)函數(shù)名,默認(rèn)為callback
params:請求參數(shù)
返回值:
Promise

Vue Resource插件提供了jsonp方法來發(fā)送JSONP請求。JSONP請求是通過動態(tài)創(chuàng)建script標(biāo)簽的形式發(fā)起的,因為script標(biāo)簽不受同源策略的限制。JSONP請求需要指定一個回調(diào)函數(shù)名,數(shù)據(jù)會在script標(biāo)簽中以函數(shù)調(diào)用的形式返回,回調(diào)函數(shù)需要在頁面中提前定義好。

示例:

Vue.http.jsonp('https://api.example.com', {
jsonp: 'callback', // 指定回調(diào)函數(shù)名,默認(rèn)為 callback
params: {
id: '1',
name: 'example'
}
}).then(response =>{
console.log(response.body);
}, response =>{
console.log(response.status);
});

在上面的示例中,我們通過指定URL和請求參數(shù)來發(fā)送一個JSONP請求。params中的參數(shù)會在URL中以查詢字符串的形式拼接,如:https://api.example.com?id=1&name=example。同時,我們也指定了回調(diào)函數(shù)名為callback。

如果服務(wù)器返回的數(shù)據(jù)不是JSONP格式,我們需要指定responseType為text,這樣可以避免默認(rèn)的JSON解析器解析出錯。

示例:

Vue.http.jsonp('https://api.example.com', {
jsonp: 'callback', // 指定回調(diào)函數(shù)名,默認(rèn)為 callback
responseType: 'text', // 指定響應(yīng)類型為text
params: {
id: '1',
name: 'example'
}
}).then(response =>{
console.log(response.body);
}, response =>{
console.log(response.status);
});

除了使用Vue Resource插件發(fā)送JSONP請求外,我們也可以手動創(chuàng)建script標(biāo)簽來發(fā)送JSONP請求。但這樣需要手動處理回調(diào)函數(shù),不如使用插件方便和優(yōu)雅。