在对我的API-AWS API网关进行HTTP post调用时,XMLHttpRequest error.
遇到了这个错误。我当前的流程是Flutter Web->API Gateway->Lambda->RDS。
我知道已经有几个与此相关的问题,但正如其中一个答案中建议的那样,添加一些标题来响应lambda。但对我不起作用。
在做了一些研究后,我发现问题是关于CORS。现在禁用cors在chrome是一个临时的修复和建议在这个问题。
一些其他的解决方案,我发现后,研究建议启用cors,在我的API和前端部分,我已经添加了头,但没有一个工作。
fetchData() async {
String url =
"myUrl";
Map<String, String> headers = {
"Access-Control-Allow-Origin": "*", // Required for CORS support to work
};
String json = '{"emailId":"emailId"}';
http.Response response =
await http.post(Uri.parse(url), headers: headers, body: json);
print(response.body);
return response.body;
}
解决这个问题的正确方法是什么?
我已经解决了我的问题,不打算删除这个问题,因为没有很多定义良好的解决方案来解决这个问题。对于使用flutter web和AWS API-Gateway的未来浏览者。
您必须在API网关中启用CORS的问题的解决方案请参见此链接。
return {
statusCode: 200,
headers: {
"Access-Control-Allow-Origin": "*", // Required for CORS support to work
"Access-Control-Allow-Credentials": true, // Required for cookies, authorization headers with HTTPS
"Access-Control-Allow-Headers": "Origin,Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,locale",
"Access-Control-Allow-Methods": "POST, OPTIONS"
},
body: JSON.stringify(item)
};
Access to XMLHttpRequest at 'API-URL' from origin 'http://localhost:63773' 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. //this particular line
fetchData() async {
String url =
"API-url";
Map<String, String> headers = {
"Content-Type": "text/plain",
};
String json = '{"emailId":"emailId"}';
Map<String, String> map = Map();
map["emailId"] = "sahaj@rootsapp.in";
http.Response response = await http
.post(Uri.parse(url), headers: headers, body: jsonEncode(map))
.then((value) {
print("onThen> " + value.body.toString());
}).onError((error, stackTrace) {
print("onError> " +
error.toString() +
" stackTrace> " +
stackTrace.toString());
});
}
它需要做的是获取用户名和密码,验证它并根据密码给出适当的输出。请帮帮我.也让我知道如果我的怀疑是正确的。另外,我听说在servlet程序中编写html代码不是一个好的做法。我还想知道如何在index.html文件中编写上面的html代码,这应该与该程序预期的行为方式相同。谢了。
大约一到两周前,我就无法使用pip,因为它总是会回退以下错误: 错误:由于环境原因无法安装程序包错误:HTTPSConnectionPool(host='files.pythonhosted.org',port=443):url超过最大重试次数:/packages/1b/e5/552ba6583ab43e12b299458fea94ee23886125b8b8babc91edb03f2ba65/p
编译以下使用Lombok自动生成getter和setter的类时,Checkstyle引发编译错误: 实用工具类不应具有公共或默认构造函数 当Checkstyle没有按照Checkstyle文档中指定的实用程序类定义时,为什么Checkstyle将上面的类归类为实用程序类?即只包含静态方法或字段的类。checkstyle解析的是默认源文本文件还是lombok生成的源文件?
下面是用eclipse IDE编写的Java代码... 线程“main”java.lang.NullPointerException在compile.execute.main(execute.java:17)中出现异常 你能告诉我如何解决这个错误吗?
我的ThymileAF模板中有一个AngularJS属性,看起来像这样: 当Thymeleaf尝试处理此模板时,我得到以下异常: Thymeleaf只是不能很好地处理
我想摆脱这个错误。我读到一个类似的问题,其中一个答案建议我可以使用以下命令禁用验证: 我的确切错误是: 在C:\ path \ guzzle \ src \ Handler \ cURL factory . PHP:187堆栈跟踪:# 0 C:\ path \ guzzle \ src \ Handler \ cURL factory . PHP:187堆栈跟踪:# 0 C:\ path \ gu