真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

js跨域請求的方式有哪些

這篇文章給大家分享的是有關(guān)js跨域請求的方式有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)公司公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元孟州做網(wǎng)站,已為上家服務(wù),為孟州各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

JSONP實現(xiàn)跨域

常用的jquery實現(xiàn)跨域調(diào)用

$.ajax({
  url: "http://127.0.0.1/~chenjiebin/mycode/php/crossdomain/index.php",
  dataType: "jsonp",
  jsonp: "callback",
  context: document.body,
  success: function(data) {
    console.log(data);
  }
});

這個調(diào)用實際上的實現(xiàn)原理是
在網(wǎng)頁中構(gòu)造一個script標(biāo)簽,將src設(shè)置為對應(yīng)的url,并增加上相應(yīng)的callback參數(shù),形如如下格式:

請求的服務(wù)端代碼如下:

$data   = json_encode(array("id" => "1", "name" => "tom"));
$callback = $_GET["callback"];
echo $callback . "(" . $data . ")";

實際上最后返回的內(nèi)容就是一段js代碼:

jQuery211018970995225637144_1465350372062({"id":"1","name":"tom"})

當(dāng)瀏覽器獲取到該段js代碼后就會執(zhí)行這個函數(shù),從而實現(xiàn)回調(diào)ajax請求時設(shè)置的success方法。

jsonp實現(xiàn)的缺點

了解了原理后,就知道jsonp實現(xiàn)的跨域方式不支持post請求,只能支持get請求。但是如果需要支持post請求該怎么辦呢?下面談下服務(wù)器端設(shè)置的方式。

服務(wù)端設(shè)置支持跨域

主要是Access-Control-Allow-Origin頭參數(shù),該參數(shù)用來指定允許哪個來源的域請求。服務(wù)端代碼如下:

// 表示支持所有來源的域進(jìn)行請求
// 實際在操作過程中可以設(shè)置為指定域
header('Access-Control-Allow-Origin:*');
$data = json_encode(array("id" => "1", "name" => "tom"));
echo $data;

對應(yīng)的js代碼:

$.ajax({
  type: "POST",
  url: "http://127.0.0.1/~chenjiebin/mycode/php/crossdomain/header.php",
  dataType: "json",
  success: function(data) {
    console.log(data);
  }
});

可以支持post請求。

感謝各位的閱讀!關(guān)于“js跨域請求的方式有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!


當(dāng)前名稱:js跨域請求的方式有哪些
網(wǎng)頁鏈接:http://weahome.cn/article/jhhoog.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部