tapak web rasmi tp6 menyediakan kaedah resolusi merentas domain, tetapi ia tidak boleh digunakan apabila saya menggunakannya secara langsung. (Mungkin postur saya salah).
Hujung hadapan menghantar permintaan ajax dalam Hbuildert dan merentas domain berlaku.
dapatkan permintaan: boleh diselesaikan melalui tetapan latar belakang.
'Access-Control-Allow-Origin: *'。
Salin selepas log masuk
permintaan pos: permintaan OPTIONS akan berlaku. Tambahkan maklumat pengepala pada permintaan ajax.
header:{ 'Content-Type':'application/x-www-form-urlencoded' }
Salin selepas log masuk
Takrifkan middleware
<?php declare (strict_types = 1); namespace app\middleware; use think\Response; /** * 全局跨域请求处理 * Class CrossDomain * @package app\middleware */ class CrossDomain { public function handle($request, \Closure $next) { header('Access-Control-Allow-Origin: *'); header('Access-Control-Max-Age: 1800'); header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE'); header('Access-Control-Allow-Headers: Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-CSRF-TOKEN, X-Requested-With, Token'); if (strtoupper($request->method()) == "OPTIONS") { return Response::create()->send(); } return $next($request); } }
Salin selepas log masuk
Tambah middleware yang kami takrifkan dalam middleware.php
Kemudian merentas domain akan berfungsi!