Я нахожусь в процессе модификации этой превосходной библиотеки javascript для автозаполнения ввода html см. Здесь ... так как мне нужно передать некоторые дополнительные параметры для вызова Ajax. На самом деле я ищу что-то неразрушающее, чтобы он мог управлять поведением по умолчанию этой библиотеки, которая также сможет обрабатывать «без дополнительных параметров».
так что я думаю, что мне позвонят как
myExtra = {b : 'b', c: 'c'}
// or maybe a thing like myExtra = "{b : 'b', c: 'c'}"
myAutoComplete = new Autocomplete('query', { serviceUrl:'autoComplete.rails'}, myExtra);
с нулевым тестом для myExtra, который ничего не делает, если имеет значение null, или «добавляет» содержимое myExtra в запрос Ajax, так что эта часть:
new Ajax.Request(this.serviceUrl, {
parameters: { query: this.currentValue , },
onComplete: this.processResponse.bind(this),
method: 'get'
});
становится чем-то вроде того, когда myExtra не является пустой или пустой строкой:
new Ajax.Request(this.serviceUrl, {
parameters: { query: this.currentValue , b: 'b', c: 'c'},
onComplete: this.processResponse.bind(this),
method: 'get'
});
Поскольку я новичок в веб-разработках, моя проблема в том, что я не знаю, как добавить фигурный контент в скобках {} к другому (и я не уверен, что я даже хорошо понимаю, что это за {}. ..)
Я думаю, что хочу сделать это король вещей, которые принимает Python, но я просто не знаю, как Javascript может это сделать,
>>> class A:
def __init__(self, data):
self.data = data
>>> a = A("my data")
>>> dir(a)
['__doc__', '__init__', '__module__', 'data']
>>> myExtra = "b='b';c='c'"
>>> for x in myExtra.split(";"):
var, value = x.split('=')
setattr(a, var, value)
>>> dir(a)
['__doc__', '__init__', '__module__', 'b', 'c', 'data']
>>> print a.data, a.b, a.c
my data 'b' 'c'
поэтому, пожалуйста, если у вас есть указания для понимания этого, заранее спасибо.