对飞行前请求的Ajax响应不';t通道访问控制

对飞行前请求的Ajax响应不';t通道访问控制,ajax,Ajax,我已经找了5个小时左右,但我放弃了。 我的ajax get请求不起作用 var ApiResponce = $.ajax({ url: "http://localhost:18428/api/Reservation/" + userid + "?weekNumber=" + weeknr, type: 'GET', headers: { 'Authorization': "bearer " + token, 'Access-Contro

我已经找了5个小时左右,但我放弃了。 我的ajax get请求不起作用

var ApiResponce = $.ajax({
    url: "http://localhost:18428/api/Reservation/" + userid + "?weekNumber=" + weeknr,
    type: 'GET',
    headers: {
        'Authorization': "bearer " + token,  
        'Access-Control-Allow-Origin': '*',
        'Access-Control-Allow-Credentials': true,
    },
    dataType: 'json',
    crossDomain: true,
    contentType: "application/json",

    success: function(responce) {
        console.log("success");
        console.log(responce);
    },
    error: function(err) {
      console.log("error");
        console.log(ApiResponce);
    },
});
它连接到标准的C#mvc api,但我得到的只是这个错误:

无法加载XMLHttpRequest。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”。响应的HTTP状态代码为405


如果在服务器端使用Apache Tomcat,则需要在servlet容器上编辑web.xml文件并添加以下行:

     <filter>
        <filter-name>CorsFilter</filter-name>
        <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
        <init-param>
                <param-name>cors.allowed.origins</param-name>
                <param-value>*</param-value>
        </init-param>
        <init-param>
                <param-name>cors.allowed.methods</param-name>
                <param-value>GET, HEAD, POST, PUT, DELETE, OPTIONS</param-value>
        </init-param>
        <init-param>
                <param-name>cors.exposed.headers</param-name>
                <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials,X-Bonita-API-Token</param-value>
        </init-param>
        <init-param>
                <param-name>cors.allowed.headers</param-name>
                <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,X-Bonita-API-Token</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>CorsFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

克斯菲尔特
org.apache.catalina.filters.CorsFilter
科尔斯
*
cors.methods
获取、标题、发布、放置、删除、选项
cors.exposed.headers
访问控制允许来源,访问控制允许凭据,X-Bonita-API-Token
cors.allowed.headers
内容类型,X-Requested-With,accept,Origin,访问控制请求方法,访问控制请求头,X-Bonita-API-Token
克斯菲尔特
/*

注意:在Apache Tomcat 7+中工作,不要忘记重新启动Tomcat。

可能与此重复为什么我没有想到这一点?只是为什么我现在会出现这个错误?无法加载XMLHttpRequest。飞行前的响应具有无效的HTTP状态代码405