我試圖從我的網站向我的遠程服務器發送POST請求,但是我遇到了一些CORS問題。請求標頭字段Access-Control-Allow-Headers在預檢響應中不允許訪問控制請求方法
我在網上搜索,但沒有找到解決我的具體問題。 這是我的AJAX請求參數:
var params = {
url: url,
method: 'POST',
data: JSON.stringify(data),
contentType: 'json',
headers: {
'Access-Control-Request-Origin': '*',
'Access-Control-Request-Methods': 'POST'
}
在這個後端側是我在Python代碼:
的XMLHttpRequest不能:
@app.route(SETTINGS_NAMESPACE + '/<string:product_name>', methods=['POST', 'OPTIONS']) @graphs.time_method() def get_settings(product_name): settings_data = helper.param_validate_and_extract(request, None, required=True, type=dict, post_data=True) settings_data = json.dumps(settings_data) response = self._get_settings(product_name, settings_data) return output_json(response, requests.codes.ok, headers = { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'POST' })
我我的控制檯上得到一個錯誤加載[http://path-to-my-server]。請求頭場 訪問控制請求的方法不被 接入控制允許的報頭預檢響應允許
我也注意到,我還可以添加'Access-Control-Request-Headers'
但我不知道這是否必要它會給我帶來更多問題,所以我將其刪除。
有誰知道如何解決這個問題?
你的Ajax請求不應發送'接入Control'頭,只有服務器發送的報頭。 – adeneo
謝謝,它工作。發佈它作爲答案,我會批准 –