要解决AWS Lambda中的CORS错误,路径相同但带有参数的问题,您可以在Lambda函数中添加相应的CORS标头。以下是一个示例解决方案:
def lambda_handler(event, context):
# 处理 OPTIONS 请求并设置 CORS 标头
if event['httpMethod'] == 'OPTIONS':
headers = {
'Access-Control-Allow-Origin': '*', # 允许所有来源
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS', # 允许的请求方法
'Access-Control-Allow-Headers': 'Content-Type' # 允许的请求头
}
return {
'statusCode': 200,
'headers': headers
}
import json
def lambda_handler(event, context):
# 处理实际请求
# ...
# 设置 CORS 标头
headers = {
'Access-Control-Allow-Origin': '*', # 允许所有来源
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS', # 允许的请求方法
'Access-Control-Allow-Headers': 'Content-Type' # 允许的请求头
}
# 返回响应
return {
'statusCode': 200,
'headers': headers,
'body': json.dumps(response_data)
}
通过添加这些代码,您将能够解决AWS Lambda中的CORS错误,路径相同但带有参数的问题。请注意,上述示例中的Access-Control-Allow-Origin
标头被设置为允许所有来源(*
),这在开发和测试阶段是可以接受的。在生产环境中,您可能需要将其更改为适当的来源。