CORS 错误似乎是网络领域的一个众所周知的问题。但是我第一次尝试上网,我面临着严重的错误。
下面的代码在 iOS 设备上运行时在应用程序版本中运行良好,但是当我在 Chrome 上通过 beta 通道的 web 调试测试同样的代码时,它遇到了 CORS 错误。
其他关于堆栈溢出的答案解释了如何使用其项目的服务器端文件解决 CORS 问题。但我完全不知道什么是服务器的东西,也不知道如何处理他们的答案。来自 Chrome 控制台的错误消息如下
【由原始 https://kapi.kakao.com/v1/payment/ready“ http://localhost:52700”访问 XMLhttpRequest 已被 CORS 策略阻止: 对飞行前请求的响应没有通过访问控制检查: 请求资源上没有“访问控制-允许-原始”头文件。】
因此,我想要做的是解决上述“访问控制-允许-起源头”问题只与省道代码!下面的代码是我用 main.dart 试图解决的问题。
onPressed: () async {
var res =
await http.post('https://kapi.kakao.com/v1/payment/ready', encoding: Encoding.getByName('utf8'), headers: {
'Authorization': 'KakaoAK $_ADMIN_KEY',
HttpHeaders.authorizationHeader: 'KakaoAK $_ADMIN_KEY',
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "POST, GET, OPTIONS, PUT, DELETE, HEAD",
}, body: {
'cid': 'TC0ONETIME',
'partner_order_id': 'partner_order_id',
'partner_user_id': 'partner_user_id',
'item_name': 'cool_beer',
'quantity': '1',
'total_amount': '22222',
'vat_amount': '2222',
'tax_free_amount': '0',
'approval_url': '$_URL/kakaopayment',
'fail_url': '$_URL/kakaopayment',
'cancel_url': '$_URL/kakaopayment'
});
Map<String, dynamic> result = json.decode(res.body);
print(result);
},
尽管我实际上有其他大多数答案推荐的标题 "Access-Control-Allow-Origin": "*"
,Chrome 控制台还是打印了相同的错误消息。奇怪的是,同样的代码在 mobileApp 版本中成功请求了。所以我认为这是唯一的问题与扑动网络版本。
希望有人可以解决这个问题,并建议只-省道代码来解决我的主要问题。省道! !感谢您阅读[ :