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: *'。
permintaan pos: permintaan OPTIONS akan berlaku. Tambahkan maklumat pengepala pada permintaan ajax.
header:{ 'Content-Type':'application/x-www-form-urlencoded' }
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); } }
Tambah middleware yang kami takrifkan dalam middleware.php
Kemudian merentas domain akan berfungsi!