我在前端使用angular js,在后端使用java hibernate。我的网站几天前运行得很好,但最近我对表结构做了一些更改。在这些更改之后,当我尝试集成angular js时,我遇到了以下错误消息。
XMLHttpRequest无法加载本地主机:8080/SignInMainServlet。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow Origin”标头。因此,不允许访问源“localhost:3000”。
我读了一些关于飞行前请求和标头权限的内容,但所有可能的解决方案都失败了。
我有一个索引页面,其中包含一些get请求,当我最初加载页面或稍后刷新页面时,它工作得非常好。但是,当我调用SignInMainServlet的post请求时,错误就会弹出。在此之后,当我刷新页面时,get请求均不起作用,并显示相同的错误。
这是我的帖子请求
return $http({
method: 'POST',
url: 'http://localhost:8080/SignInMainServlet',
data: $httpParamSerializerJQLike({
login_source: source,
accessToken: code,
referrer_code: referral_id
}),
headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8' }
});
他请求的服务器端是:
String referrer_code=request.getParameter("referrer_code");
String login_source=request.getParameter("login_source");
String accessToken=request.getParameter("accessToken");
SignInMainManager m = new SignInMainManager(accessToken, referrer_code, login_source,REFERRAL_CODE_COUNT);
String result = m.signIn();
response.setContentType("text/html");
response.addHeader("Access-Control-Allow-Origin","*");
response.addHeader("Access-Control-Allow-Methods"," GET, POST, OPTIONS");
response.addHeader("Access-Control-Allow-Headers","Content-Type");
PrintWriter out = response.getWriter();
out.println(result);
out.close();//closing the stream
我在发送请求时监控了网络并获得以下内容:
全体的
请求URL:localhost:8080/SignInMainServlet请求方法:选项状态代码:200 OK远程地址:127.0.0.1:8080
响应标头
请求标头
接受:/接受-编码:gzip,通货紧缩,sdch,br接受-语言:en-GB,en-US;q=0.8,en;q=0.6访问-控制-请求-标头:授权访问-控制-请求-方法:后连接:保持活动主机:localhost:8080来源:localhost:3000引用者:localhost:3000/用户代理:Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,像壁虎)Chrome/55.0.2883.87Safari /537.36
我创建了这个过滤器,现在它可以处理所有请求。
package com.your.package;
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletResponse;
@WebFilter(asyncSupported = true, urlPatterns = { "/*" })
public class Filter implements javax.servlet.Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
((HttpServletResponse) response).addHeader("Access-Control-Allow-Origin", "*");
((HttpServletResponse) response).addHeader("Access-Control-Allow-Methods", "GET, OPTIONS, HEAD, PUT, POST");
((HttpServletResponse) response).addHeader("Access-Control-Allow-Headers", "Content-Type");
((HttpServletResponse) response).addHeader("Access-Control-Max-Age", "86400");
// pass the request along the filter chain
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}
如果你在使用网络。xml您可以遵循这一点。https://amodernstory.com/2014/12/27/using-cors-headers-with-java-example/
我正在使用reactjs前端,在后端使用Spring Boot。我尝试从前端调用endpoint,如下所示: 当我发出请求时,我得到以下错误:- 访问位于“”的XMLHttpRequesthttp://localhost:8000/ckcapp/api/posttest“起源”http://localhost:3000'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在
即使我在NodeJS/ExpressJS中添加了以下代码,我也无法解释为什么会遇到以下错误。 XMLHttpRequest无法加载http://localhost:9000/polymer/105724/apply.对预检请求的响应无法通过权限改造检查:请求的资源上不存在“访问控制允许源”标头。因此不允许访问源“http://localhost:8080”。
一、 am在angular 6和asp.net内核上使用信号器功能。但对飞行前请求继续获取此错误响应未通过访问控制检查:响应中“访问控制允许凭据”标头的值为“”,当请求的凭据模式为“包括”时,该值必须为“真”。 做了一些研究,发现这是服务器端的CORS问题。所以修改了服务器代码。 startup.cs 角度应用程序 参考资料 访问控制允许原点-角度5 响应中的访问-控制-允许-凭据标题为"这必须是
我已经找了5个小时左右,但我放弃了。我的ajax get请求不起作用。 它连接到标准的C#mvc api,但我得到的只是这个错误: 无法加载XMLHttpRequesthttp://localhost:18428/api/Reservation/1?weekNumber=1. 对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。起源'http://localhost因
我正在尝试将Laravel社交名流集成到我的项目中,我遇到了以下错误 在'访问XMLHttpRequesthttps://github.com/login/oauth/authorize?client_id=6b87b76a942a90caec24 问题是当我按使用 github 按钮登录时,出现上述错误 错误图片 科尔斯.php文件 am使用水果蛋糕/laravel-cors包 我哪里做错了?
问题内容: 我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载 http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访