国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

安裝webman/cors 程序還是報跨域錯誤

我要當省長

問題描述

安裝webman/cors 后 程序還是報跨域錯誤,在StaticFile 靜態(tài)文件中間件里加了設(shè)置header還是無效,

程序代碼

class StaticFile implements MiddlewareInterface
{
    public function process(Request $request, callable $next): Response
    {
        // Access to files beginning with. Is prohibited
        if (strpos($request->path(), '/.') !== false) {
            return response('<h1>403 forbidden</h1>', 403);
        }
        /** @var Response $response */
        if ($request->method() == 'OPTIONS') {
            $response = response('');
        } else {
            $response = $next($request);
        }
        // Add cross domain HTTP header
        $response->withHeaders([
            'Access-Control-Allow-Origin'      => $request->header('origin', '*'),
            'Access-Control-Allow-Methods' =>  $request->header('access-control-request-method', '*'),
            'Access-Control-Allow-Headers' => $request->header('access-control-request-headers', 'Origin, X-Requested-With, Content-Type, Accept, Referer, User-Agent, Authorization, X-Token'),
        ]);
        return $response;
    }
}

報錯信息

Access to XMLHttpRequest at 'http://192.168.2.131:8585/upload/upload' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

截圖報錯信息里報錯文件相關(guān)代碼

操作系統(tǒng)及workerman/webman等框架組件具體版本

windows php8.0 webman1.5

1689 2 0
2個回答

wxvirus

默認這個沒有配置吧,只是寫了一個這么個中間件,沒有在config/middleware.php 里配全局使用;
我沒有安裝這個,我都自己寫一個

  • 我要當省長 2023-10-20

    解決了 在nginx配置里增加了 允許跨域,但是代碼里怎么實現(xiàn)跨域還是一籌莫展~

  • wxvirus 2023-10-20

    2個使用一個方式就好了,其實ngxin里搞可能還算是比較中規(guī)中矩

  • 我要當省長 2023-10-20

    代碼和程序員有一個能跑就行~

我要當省長

修改nginx.conf 跨域已經(jīng)可用了 ,但還是不知道代碼里應(yīng)該怎么實現(xiàn)~~~

server {   ....
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET,POST';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';  
}
  • wxvirus 2023-10-20

    我是自己寫了一個

    class CrossDomain implements MiddlewareInterface
    {
    
        public function process(Request $request, callable $handler): Response
        {
            // 如果是options請求則返回一個空響應(yīng),否則繼續(xù)向洋蔥芯穿越,并得到一個響應(yīng)
            $response = strtoupper($request->method()) === 'OPTIONS' ? response('', 204) : $handler($request);
            // 給響應(yīng)添加跨域相關(guān)的http頭
            $response->withHeaders([
                'Access-Control-Allow-Credentials' => 'true',
                'Access-Control-Allow-Origin' => $request->header('origin', '*'),
                'Access-Control-Allow-Methods' => $request->header('access-control-request-method', '*'),
                'Access-Control-Allow-Headers' => $request->header('access-control-request-headers', '*'),
            ]);
    
            return $response;
        }
    }
    return [
        // 全局作用域中間件
        '' => [
            // 跨域處理
            app\middleware\CrossDomain::class,
        ],
    ];
  • 我要當省長 2023-10-26

    啊 老哥牛逼

年代過于久遠,無法發(fā)表回答
??