Rumah > rangka kerja php > ThinkPHP > Cara thinkphp melengkapkan permintaan merentas domain

Cara thinkphp melengkapkan permintaan merentas domain

PHPz
Lepaskan: 2023-04-13 16:22:23
ke hadapan
3377 orang telah melayarinya

1. Kelas pengepala

Dalam rangka kerja thinkphp, anda boleh menggunakan kelas Pengepala untuk menetapkan pengepala respons untuk merealisasikan fungsi permintaan merentas domain. Kaedah khusus ialah menambah kod berikut pada kaedah pengawal:

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
Salin selepas log masuk

Antaranya, baris pertama kod bermaksud membenarkan permintaan merentas domain daripada semua sumber, dan juga boleh ditetapkan kepada sumber tertentu ; baris kedua kod bermaksud membenarkan maklumat pengepala Permintaan dibawa oleh permintaan merentas domain. Selepas menyediakan ini, anda boleh melaksanakan permintaan merentas domain asas.

2. Pustaka pihak ketiga

Selain menggunakan kelas Header untuk menyediakan permintaan merentas domain, anda juga boleh menggunakan perpustakaan pihak ketiga untuk memudahkan perkara ini proses. Berikut mengambil sambungan kors perpustakaan CORS (Perkongsian Sumber Silang Asal) sebagai contoh untuk memperkenalkan cara menggunakan pustaka pihak ketiga untuk melaksanakan permintaan merentas domain.

  1. Pasang sambungan cors

Buka tetingkap baris arahan dan laksanakan arahan berikut:

composer require topthink/think-cors
Salin selepas log masuk
  1. Konfigurasikan sambungan cors

Dalam folder konfigurasi projek, cipta fail cors.php dan masukkan kod berikut:

<?php

return [
    // 允许的请求域名
    &#39;allow_origin&#39;      => [&#39;*&#39;],
    // 允许的请求头信息
    &#39;allow_headers&#39;     => &#39;Origin, X-Requested-With, Content-Type, Accept&#39;,
    // 允许的请求方法
    &#39;allow_methods&#39;     => &#39;GET, POST, PUT, DELETE, PATCH&#39;,
    // 是否允许发送cookie
    &#39;allow_credentials&#39; => true,
    // 跨域请求缓存时间
    &#39;max_age&#39;           => 3600,
];
Salin selepas log masuk

Antaranya, $allow_origin bermaksud dibenarkan Nama domain permintaan boleh ditetapkan kepada nama domain tertentu atau kad bebas "*"; $allow_headers mewakili maklumat pengepala permintaan yang dibenarkan, $allow_methods mewakili kaedah permintaan yang dibenarkan, $allow_credentials mewakili sama ada kuki dibenarkan untuk dihantar , dan $max_age mewakili masa cache Permintaan merentas domain.

  1. Ubah suai fail konfigurasi

Dalam folder konfigurasi projek, cari fail app.php, konfigurasi adalah seperti berikut:

return [
    // ...
    &#39;middleware&#39; => [
        // ...
        \think\middleware\Cors::class,
    ],
];
Salin selepas log masuk
  1. Panggil sambungan cors

Dalam kaedah pengawal yang memerlukan permintaan silang domain, anda boleh terus memanggil kaedah dalam sambungan cors ke merealisasikan tetapan permintaan merentas domain :

use think\facade\Cors;

public function index() {
    Cors::allowAllOrigin();
    return json([&#39;code&#39; => 200, &#39;msg&#39; => &#39;success&#39;]);
}
Salin selepas log masuk

Selepas menetapkan ini, anda boleh melaksanakan permintaan merentas domain.

Atas ialah kandungan terperinci Cara thinkphp melengkapkan permintaan merentas domain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan