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

webman接口 get正常,post會出現跨域問題

lychuan

問題描述

webman接口 get正常,post會出現跨域問題,已經按照官網手冊里的跨域中間件正確配置了。

use app\middleware\AccessControl;

return [
    '' => [
        AccessControl::class,
    ],
];

我的控制器是

app/controller/AuthController

route是

Route::post('/auth/login', [AuthController::class, 'login']);

頁面報錯信息:

Access to XMLHttpRequest at 'http://192.168.1.3:8787/api/auth/login' from origin 'http://localhost:5173' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

前端vite配置:

server: {
        proxy: {
            "/api": {
                target: "http://192.168.1.3:8787",
                changeOrigin: true
            }
        }
    }

請求錯誤碼

login post方法

General
    Request URL: http://192.168.1.3:8787/api/auth/login
    Referrer Policy: strict-origin-when-cross-origin
Request Headers
    Provisional headers are shown
    Learn more
    Accept: application/json, text/plain, */*
    Content-Type: application/json
    Referer: http://localhost:5173/
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36

login options

General
    Request URL: http://192.168.1.3:8787/api/auth/login
    Request Method: OPTIONS
    Status Code: 200 OK
    Remote Address: 192.168.1.3:8787
    Referrer Policy: strict-origin-when-cross-origin
Request Headers
    Connection: keep-alive
    Content-Length: 34
    Content-Type: application/json
    Server: workerman

為此你搜索到了哪些方案及不適用的原因

workerman通過搜索跨域相關問題,有遇到和我一樣的情況,也沒有解決方案。百度也搜索了vite跨域相關配置,確定已經按照文檔正確配置了跨域。

2151 4 0
4個回答

lychuan

大佬們,救命,這什么原因呢?

  • 暫無評論
six

看下服務端是否有錯誤日志,可能500了。
瀏覽器里network里看http狀態(tài)碼是否是200、返回的http頭是否帶上了跨域header。

  • lychuan 2022-11-06

    大佬,network里post請求沒有返回任何狀態(tài)碼,options請求返回200狀態(tài)碼,我把請求的狀態(tài)碼重新編輯放在上面問題里了,不知道是什么原因

  • lychuan 2022-11-06

    服務端沒有錯誤

  • lychuan 2022-11-06

    解決了,我的錯。。。。找了老半天,沒好好看文檔
    提示
    跨域可能會產生OPTIONS請求,我們不想OPTIONS請求進入到控制器,所以我們?yōu)镺PTIONS請求直接返回了一個空的響應(response(''))實現請求攔截。
    如果你的接口需要設置路由,請使用Route::any(..) 或者 Route::add(['POST', 'OPTIONS'], ..)設置。

  • lychuan 2022-11-07

    大佬,webman兩個接口,一個設置session,另一個接口拿不到session的值,是什么原因額?在webman-admin接口中確是可以的

lychuan

解決了,有遇到同樣問題的同學,好好看文檔吧。。。。。

提示
跨域可能會產生OPTIONS請求,我們不想OPTIONS請求進入到控制器,所以我們?yōu)镺PTIONS請求直接返回了一個空的響應(response(''))實現請求攔截。
如果你的接口需要設置路由,請使用Route::any(..) 或者 Route::add(['POST', 'OPTIONS'], ..)設置。
  • 暫無評論
lychuan

又出現新問題了,當添加一個中間件的時候,又會出來跨域問題,崩了。換成any也不行了。

  • powerbowen 2022-11-07

    你用默認路由呢。不在配置里面配路由的話它會自己識別,這樣試試呢

  • six 2022-11-07

    說明你新添加的中間件報錯了,沒執(zhí)行到跨域中間件

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