Skip to content

Commit e782083

Browse files
Add headers custom
1 parent 640a193 commit e782083

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

src/autocomplete.js

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ var AutoComplete = (function () {
1818
method: "GET",
1919
noResult: "No result",
2020
paramName: "q",
21+
headers: {
22+
"Content-type": "application/x-www-form-urlencoded"
23+
},
2124
select: function(input, item) {
2225
attr(input, {"data-autocomplete-old-value": input.value = attr(item, "data-autocomplete-value", item.innerHTML)});
2326
},
@@ -154,7 +157,7 @@ var AutoComplete = (function () {
154157
lisCount,
155158
liActive;
156159

157-
if (keyCode == 13 && attrClass(result).indexOf("open") != -1) {
160+
if (keyCode == 13 && attr(result, "class").indexOf("open") != -1) {
158161
liActive = result.querySelector("li.active");
159162
if (liActive !== null) {
160163
self._args.select(input, liActive);
@@ -164,6 +167,7 @@ var AutoComplete = (function () {
164167

165168
if (keyCode == 38 || keyCode == 40) {
166169
liActive = result.querySelector("li.active");
170+
167171
if (liActive) {
168172
currentIndex = Array.prototype.indexOf.call(liActive.parentNode.children, liActive);
169173
position = currentIndex + (keyCode - 39);
@@ -251,16 +255,22 @@ var AutoComplete = (function () {
251255
request.abort();
252256
}
253257

254-
var method = custParams.method,
255-
url = custParams.url;
258+
var headers = custParams.headers,
259+
headersKeys = Object.getOwnPropertyNames(headers),
260+
method = custParams.method,
261+
url = custParams.url,
262+
i;
256263

257264
if (method.match(/^GET$/i)) {
258265
url += "?" + queryParams;
259266
}
260267

261268
request = new XMLHttpRequest();
262269
request.open(method, url, true);
263-
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
270+
271+
for (i = headersKeys.length - 1; i >= 0; i--) {
272+
request.setRequestHeader(headersKeys[i], headers[headersKeys[i]]);
273+
}
264274

265275
request.onreadystatechange = function () {
266276
if (request.readyState == 4 && request.status == 200) {
@@ -316,7 +326,7 @@ function attr(item, attrs, defaultValue) {
316326

317327
function attrClass(item, value) {
318328
if (item) {
319-
return attr(item, !value ? "class" : {"class": value});
329+
return attr(item, typeof value === undefined ? "class" : {"class": value});
320330
}
321331
}
322332

0 commit comments

Comments
 (0)