Я использую typeahead.js Bloodhound версия 10.5 :
var quicknavResults = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('title'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: 'http://localhost:8090/cust_quicknav?q=%QUERY',
wildcard: '%QUERY',
filter: function(response) {
var documentList = response.documentList;
if (typeof documentList !== 'undefined') {
quicknavJSONExist = true;
return documentList.documents;
} else {
return [];
}
},
ajax: {
beforeSend: function (jqXHR, settings) {
jqXHR.setRequestHeader("Access-Control-Allow-Origin", "*");
}
}
},
limit: 5
});
Я пытаюсь установить пользовательский заголовок "Access-Control-Allow-Origin":"*"
, отправив объект настроек jQuery.ajax
в соответствиик документам typeahead и документам jQuery (см. параметр beforeSend
).Когда я проверяю запрос, отправленный Bloodhound при наборе текста, кажется, что заголовок установлен неправильно:
Host: localhost:8090
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Access-Control-Request-Method: GET
Access-Control-Request-Headers: access-control-allow-origin
Referer: http://localhost:8100/search/index.html
Origin: http://localhost:8100
Connection: keep-alive
В 7-й строке кажется, что "Access-Control-Allow-Origin"
был в нижнем регистре и установлен в качестве значениязаголовок, который я даже не указал.Это совершенно неправильно.Почему это происходит?