当前位置: 首页 > 知识库问答 >
问题:

在fetch api中使用标头时不允许使用405方法

鲜于俊侠
2023-03-14

我试图使用fetch发出ajax请求,当我这样做时,我得到一个405(不允许使用方法)错误。

我是这样执行的:

fetch(url, {
    method: 'get',
    headers: {
        'Game-Token': '123'
    }
});

这给了我一个错误。如果我删除标头,请求将通过。但是,我需要该头在服务器上进行验证。

fetch(url, { method: 'get' });

我的电脑中有以下设置。htaccess文件:

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS, FETCH"
Header set Access-Control-Allow-Credentials "true"
Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization, X-CSRF-TOKEN, Game-Token, developerKey"
Header set X-Frame-Options "SAMEORIGIN"
Header set Access-Control-Expose-Headers "Game-Token"

我不确定是什么原因导致这一切无法进行。

共有1个答案

狄睿
2023-03-14

因此,这与JavaScript无关。htaccess。相反,它与管腔有关。我们需要捕获选项请求并回复。我们所做的是创建一个中间件文件,用于检查选项方法,并用200响应。

use Closure;

class CorsMiddleware
{

    public function handle($request, Closure $next)
    {

        if ($request->isMethod('OPTIONS'))
        {
            return response('',200);
        }

        return $next($request);
    }
}
 类似资料:
  • 问题内容: 我打算使用Ajax将跨域请求发送到soap Web服务。Web服务的URL是:http://example1.asmx?op = GetVOD 我的代码: 在IIS 7服务器端,我已经将这些行添加到文件web.config中 当我在Chrome上运行客户端代码时,出现405错误: 有谁知道如何解决这个问题? 预先感谢 问题答案: 听起来像Web DAV正在阻碍。这是删除它的配置: ht

  • 我正在尝试使用angularJs和$http发布一个表单。post方法。但每当我执行此函数时,它都会给我以下错误:加载资源失败:服务器响应状态为405(不允许使用方法),我不知道该怎么办。(Im使用visual studio 2015)

  • 我的代码是使用java servlet和JDBC存储和检索数据库中的信息。程序运行的IDE中没有错误,但行没有插入到数据库中,并且firefox浏览器中出现错误<以下代码来自SERVLET文件 以下代码来自HTML文件 以下代码来自web。xml文件 错误是:在firefox浏览器中获得的错误

  • 我有一个restcontroller和post方法,带有以下url和json请求。http://server/member/sc/v1/limited-liability/medicare 使用post方法和json请求在本地触发请求时,获得正确的响应。但在docker中以spring boot应用程序的形式运行会将异常作为不允许的方法抛出。最初,我将这个docker服务部署为put方法。现在我转

  • 该代码在我的本地开发环境中运行良好,但在我将其上载到服务器时,给出了一个异常。这个问题和这个问题的解决方案对我不起作用。 这是控制器。 这是routes文件中的相应条目。 这里是对URL的AJAX调用。 这就是示例测试用例的数据。 我如何克服这个错误,为什么这只发生在生产中? 值得注意的是,我在整个应用程序中还有其他对路由的AJAX调用,它们工作得很好。

  • 我有以下发帖方法, 我正在使用fiddler发布以下请求, 注意:还没有为spring配置安全性。