jQuery создает опции списка выборки из JSON, не происходя, как рекламируется?

Ответ зависит от того, как вы обслуживаете это приложение.

Подмонтировано внутри другого контейнера WSGI

Предполагая, что вы собираетесь запускать это приложение внутри контейнера WSGI (mod_wsgi, uwsgi, gunicorn и т. д.); вам нужно на самом деле монтировать в этом префиксе приложение как часть этого контейнера WSGI (что-нибудь, что говорит WSGI) и установить настройку APPLICATION_ROOT значение для вашего префикса:

app.config["APPLICATION_ROOT"] = "/abc/123"

@app.route("/")
def index():
    return "The URL for this page is {}".format(url_for("index"))

# Will return "The URL for this page is /abc/123/"

Установка значения конфигурации APPLICATION_ROOT просто ограничивает файл cookie сеанса флешки этим префиксом URL.

Пример правильной установки вашего приложения

Если вы не знаете, что означает первый абзац, это означает, что все остальные будут автоматически обработаны для вас превосходными возможностями WSGI для Flask и Werkzeug. , посмотрите на это примерное приложение с Flask, смонтированным внутри него:

from flask import Flask, url_for
from werkzeug.serving import run_simple
from werkzeug.wsgi import DispatcherMiddleware

app = Flask(__name__)
app.config['APPLICATION_ROOT'] = '/abc/123'

@app.route('/')
def index():
    return 'The URL for this page is {}'.format(url_for('index'))

def simple(env, resp):
    resp(b'200 OK', [(b'Content-Type', b'text/plain')])
    return [b'Hello WSGI World']

app.wsgi_app = DispatcherMiddleware(simple, {'/abc/123': app.wsgi_app})

if __name__ == '__main__':
    app.run('localhost', 5000)

Проксирование запросов к приложению

Если, с другой стороны, вы будете запускать свою флягу приложение в корневом контейнере WSGI и запросы проксирования к нему (например, если это FastCGI'd, или если nginx является proxy_pass -потребителями запросов для вспомогательной точки к вашему автономному uwsgi / gevent, вы можете либо:

  • Использовать план, так как Мигель указывает в свой ответ .
  • или используйте DispatcherMiddleware из werkzeug (или PrefixMiddleware из ответа su27 ), чтобы подключить ваше приложение на автономном сервере WSGI, который вы используете. (См. Пример правильной подстройки вашего приложения выше для используемого кода.)

10
задан fifi finance 1 September 2015 в 09:24
поделиться

3 ответа

$("#requestTypes") возвращает объект jQuery, который содержит все выбранные элементы. Вы пытаетесь звонить add() метод отдельного элемента, но вместо этого Вы звоните add() метод объекта jQuery, который делает что-то совсем другое.

Для доступа к самому элементу DOM необходимо рассматривать объект jQuery как массив и вытащить первый объект из него, при помощи $("#requestTypes")[0].

15
ответ дан 3 December 2019 в 15:36
поделиться

Для материала как это я использую избранный плагин поля texotela с его простой функцией ajaxAddOption.

4
ответ дан 3 December 2019 в 15:36
поделиться

По умолчанию селекторы jQuery возвращают объект jQuery. Добавьте это для возвращения элемента DOM:

 var dropdownList = $("#requestTypes")[0];
9
ответ дан 3 December 2019 в 15:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: