新聞中心
這篇“thinkphp如何完成跨域請(qǐng)求”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“thinkphp如何完成跨域請(qǐng)求”文章吧。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),柳城企業(yè)網(wǎng)站建設(shè),柳城品牌網(wǎng)站建設(shè),網(wǎng)站定制,柳城網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,柳城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
一、Header類
在thinkphp框架中,可以使用Header類來(lái)對(duì)響應(yīng)頭進(jìn)行設(shè)置,從而實(shí)現(xiàn)跨域請(qǐng)求的功能。具體的方法是在控制器方法中添加以下代碼:
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");其中,第一行代碼表示允許所有來(lái)源的跨域請(qǐng)求,也可以設(shè)置為具體來(lái)源;第二行代碼表示允許跨域請(qǐng)求攜帶的請(qǐng)求頭信息。這樣設(shè)置之后,就可以實(shí)現(xiàn)基本的跨域請(qǐng)求了。
二、第三方庫(kù)
除了使用Header類進(jìn)行跨域請(qǐng)求的設(shè)置之外,還可以使用第三方庫(kù)來(lái)簡(jiǎn)化這個(gè)過(guò)程。下面以主流的CORS(Cross-Origin Resource Sharing)庫(kù)cors拓展為例,來(lái)介紹如何使用第三方庫(kù)實(shí)現(xiàn)跨域請(qǐng)求。
安裝cors拓展
打開命令行窗口,執(zhí)行以下命令:
composer require topthink/think-cors
配置cors拓展
在項(xiàng)目的config文件夾下,創(chuàng)建一個(gè)cors.php文件,輸入以下代碼:
['*'], // 允許的請(qǐng)求頭信息 'allow_headers' => 'Origin, X-Requested-With, Content-Type, Accept', // 允許的請(qǐng)求方法 'allow_methods' => 'GET, POST, PUT, DELETE, PATCH', // 是否允許發(fā)送cookie 'allow_credentials' => true, // 跨域請(qǐng)求緩存時(shí)間 'max_age' => 3600, ];
其中,$allow\_origin表示允許的請(qǐng)求域名,可以設(shè)置為具體的域名,也可以設(shè)置為通配符“*”;$allow\_headers表示允許的請(qǐng)求頭信息,$allow\_methods表示允許的請(qǐng)求方法,$allow\_credentials表示是否允許發(fā)送cookie,$max\_age表示跨域請(qǐng)求緩存時(shí)間。
修改配置文件
在項(xiàng)目的config文件夾下,找到app.php文件,配置如下:
return [ // ... 'middleware' => [ // ... \think\middleware\Cors::class, ], ];
調(diào)用cors拓展
在需要跨域請(qǐng)求的控制器方法中,可以直接調(diào)用cors拓展中的方法,實(shí)現(xiàn)跨域請(qǐng)求的設(shè)置:
use think\facade\Cors;
public function index() {
Cors::allowAllOrigin();
return json(['code' => 200, 'msg' => 'success']);
}這樣設(shè)置之后,就可以實(shí)現(xiàn)跨域請(qǐng)求了。
以上就是關(guān)于“thinkphp如何完成跨域請(qǐng)求”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站欄目:thinkphp如何完成跨域請(qǐng)求
文章鏈接:http://www.dlmjj.cn/article/ggepgh.html


咨詢
建站咨詢
