代码之家  ›  专栏  ›  技术社区  ›  Riddhi

CORS错误405不允许预飞行响应的方法没有HTTP ok状态

  •  2
  • Riddhi  · 技术社区  · 7 年前

    这是我的请求详情

    总则

    Request URL: http://192.168.1.100/lv_api/code/login
    
    Request Method: OPTIONS
    
    Status Code: 405 Method Not Allowed
    
    Remote Address: 192.168.1.100:80
    
    Referrer Policy: no-referrer-when-downgrade
    
    Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token, X-
    Requested-With
    
    Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS
    
    Access-Control-Allow-Origin: http://192.168.1.100:8000
    
    Allow: POST
    
    Cache-Control: no-cache, private
    
    Connection: close
    
    Content-Type: text/html; charset=UTF-8
    
    Date: Wed, 03 Oct 2018 06:22:56 GMT
    
    Server: Apache/2.4.18 (Ubuntu)
    
    Accept: */*
    
    Accept-Encoding: gzip, deflate
    
    Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
    
    Access-Control-Request-Headers: content-type
    
    Access-Control-Request-Method: POST
    
    Connection: keep-alive
    
    Host: 192.168.1.100
    
    Origin: http://192.168.1.100:8000
    
    User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
    

    尝试设置标题,但我不确定要为问题设置的正确值。

    如果我在API中为Options请求创建一个方法,它可以正常工作,但这不是正确的解决方案。

    2 回复  |  直到 7 年前
        1
  •  3
  •   Riddhi    7 年前

    通过在我的api代码中添加以下行就解决了这个问题

    header('Access-Control-Allow-Origin: your origin');
    header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Max-Age:86400');
    header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token,  Accept, Authorization, X-Requested-With');
    
        2
  •  0
  •   Rinku Budania    7 年前

    您可以安装spatie/laravel cors来解决此问题

    推荐文章