angular4跨域請求

angular4和其他框架一樣,運(yùn)用網(wǎng)絡(luò)請求的時(shí)候都會(huì)出現(xiàn)跨域的情況(跨域,指的是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對javascript施加的安全限制),出現(xiàn)跨域以后怎么解決呢,今天介紹一種angular4-JSONP解決跨越,下面縣介紹一下jsonp:

jsonp動(dòng)態(tài)生成sript標(biāo)簽 ,src 指向地址:ajax請求受同源策略影響,不允許進(jìn)行跨域請求,而script標(biāo)簽src屬性中的鏈接卻可以訪問跨域的js腳本,利用這個(gè)特性,服務(wù)端不再返回JSON格式的數(shù)據(jù),而是返回一段調(diào)用某個(gè)函數(shù)的js代碼,在src中進(jìn)行了調(diào)用,這樣實(shí)現(xiàn)了跨域。

進(jìn)入正題直接看代碼,首頁在app.module.ts引入:

imports: [
    BrowserModule,
    HttpModule,
    RouterModule.forRoot(routes),
    IonicModule.forRoot(MyApp,{
      tabsHideOnSubPages: 'true' //隱藏全部子頁面tabs
    })

  ],

在所需要的面引入http:

 import {Http, ResponseOptions,Headers,HttpModule,URLSearchParams,Jsonp} from "@angular/http";

然后注入:

constructor(public jsonp:Jsonp,public http:Http) {}
帶參數(shù)的, 注意一定要引入 URLSearchParams,要不請求是失敗的: 
 let  d1 = new URLSearchParams();
  d1.set('key',   'value' );
  d1.set('key',   'value' );
  d1.set('key',   ‘value’);
  d1.set('format', 'json');
  d1.set('callback', 'JSONP_CALLBACK');  
 
  this.jsonp.get(url,{
    search: d1
  })
    .subscribe((response) => {
      let res = response.json()

      console.log(res)

    }, (error) => {
      console.error(error);
    });
  下面這兩個(gè)參數(shù)是必須引入的,如果不存在jsonp可以不加2
 1. d1.set('format', 'json');
 2. d1.set('callback', 'JSONP_CALLBACK');
  

今天就介紹到這,謝謝

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言:對于跨域請求,很早之前就有去了解過,但因?yàn)橐恢标P(guān)注的都是服務(wù)器后端開發(fā),故也就僅僅停留在概念的理解上而沒有機(jī)...
    ken_ljq閱讀 90,219評(píng)論 6 128
  • 什么是跨域? 2.) 資源嵌入:、、、等dom標(biāo)簽,還有樣式中background:url()、@font-fac...
    電影里的夢i閱讀 2,471評(píng)論 0 5
  • 一、瀏覽器的同源策略 1.什么是同源? 所謂“同源”指的是”三個(gè)相同“。相同的域名、端口和協(xié)議,這三個(gè)相同的話就視...
    徐國軍_plus閱讀 924評(píng)論 1 3
  • 生活是嘬一碗面條的幸福. 剛剛看完《人間·小團(tuán)圓》. 生活就像我看電影開心了, 拿起杯子就喝, 以為是水, 咕隆咕...
    玉_82閱讀 397評(píng)論 0 1
  • ?【導(dǎo)語】世界上每一個(gè)銷售人員在一開始銷售產(chǎn)品的時(shí)候都不可能是一帆風(fēng)順的,一定會(huì)經(jīng)歷一個(gè)成長的過程。在成長的過程中...
    笨笨的魚兒閱讀 613評(píng)論 0 0

友情鏈接更多精彩內(nèi)容