Access to XMLHttpRequest at 'https://kf.thunisoft.com/webcall/ai/selfHelp.do' from origin 'https://kf.thunisoft.com:5000' 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. 出现这个问题,在nginx
时间: 2024-04-07 13:28:15 浏览: 32
中可以通过配置解决。需要在nginx的配置文件中添加以下内容:
```
location / {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "*";
add_header Access-Control-Allow-Headers "*";
if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
add_header Content-Length 0;
return 204;
}
}
```
这样,就会在响应头中添加Access-Control-Allow-Origin,解决跨域问题。
相关问题
Access to XMLHttpRequest at 'https://kf.thunisoft.com/webcall/ai/selfHelp.do' from origin 'https://kf.thunisoft.com:5000' 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.
这个错误是由于浏览器的同源策略限制而引起的。同源策略是浏览器的一种安全机制,它要求网页只能向同域名、同端口、同协议的服务器发送请求。当你的网页通过 AJAX 向另一个域名(或端口、协议)的服务器发送请求时,就会触发同源策略,导致浏览器阻止这个请求。
为了解决这个问题,你需要在服务器端设置 CORS 头,允许跨域访问。可以在服务器端的响应中添加以下头信息:
```
Access-Control-Allow-Origin: https://kf.thunisoft.com:5000
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: Content-Type
```
其中,`https://kf.thunisoft.com:5000` 是你的网页所在的域名,`Access-Control-Allow-Methods` 和 `Access-Control-Allow-Headers` 分别指定允许的 HTTP 方法和请求头。
如果你使用的是 Apache 或 Nginx 等 Web 服务器,可以通过修改服务器的配置文件来设置这些头信息。如果你使用的是 Java Web 应用程序,则可以在 Servlet 或 Filter 中设置这些头信息,具体代码如下:
```java
public class CorsFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
HttpServletRequest request = (HttpServletRequest) req;
String origin = request.getHeader("Origin");
response.setHeader("Access-Control-Allow-Origin", origin);
response.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
response.setHeader("Access-Control-Allow-Headers", "Content-Type");
chain.doFilter(req, res);
}
public void init(FilterConfig filterConfig) {}
public void destroy() {}
}
```
将上述代码保存为 `CorsFilter.java` 文件,然后将其编译为 `.class` 文件,并将其部署到 Tomcat 的 `webapps` 目录下。在 `web.xml` 文件中添加以下配置:
```xml
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>com.example.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
```
重启 Tomcat 后,就可以在所有 Web 应用程序中启用 CORS 策略。
Access to XMLHttpRequest at 'http://39.98.175.93:9099/index/menu' from origi
Access to XMLHttpRequest at 'http://39.98.175.93:9099/index/menu' from origin 'http://example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
这个错误是由于浏览器的同源策略(Same-Origin Policy)所引起的。同源策略是浏览器的一种安全机制,限制了通过JavaScript发起的跨域请求。
在这个错误中,浏览器检测到你的代码正在尝试从一个源(origin)访问另一个源的资源。在默认情况下,浏览器阻止了这种跨域请求,除非服务器在响应中包含了适当的CORS头部。
为了解决这个问题,你需要在目标服务器上配置CORS头部,使其允许来自'http://example.com'的跨域请求。具体的配置方式和步骤取决于你使用的服务器和框架。
一种常见的解决方法是在服务器端设置响应头部,添加'Access-Control-Allow-Origin'字段,并将其值设为允许跨域请求的源的地址(例如'http://example.com')。这样浏览器就会允许来自该源的请求访问服务器资源了。
另外,你也可以使用代理服务器来绕过同源策略的限制。通过将跨域请求发送到代理服务器,再由代理服务器转发请求给目标服务器,这样就可以在不修改目标服务器配置的情况下实现跨域请求。
总结起来,要解决这个问题,你可以通过配置目标服务器的CORS头部,或者使用代理服务器来实现跨域请求。具体的实施方法和步骤会根据你的服务器和框架而有所不同。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)