Я не могу воспроизвести эквивалентные функции в моем вызове Ajax, как в обычном Javascript на моей главной странице HTML.Я использую Python / Flask в качестве серверной части.Есть ли аналогичный способ использования {{variable |safe}} синтаксис в AJAX для получения похожих результатов?
Мой класс sample.py
class Sample:
def __init__(self):
self.product = 'something'
def transfer_to_js(self):
return json.dumps(self.__dict__)
Моя функция фляги
@app.route('/get_data')
def get_data():
sample = Sample()
sample_str = sample.transfer_to_js()
return jsonify(result=sample_str)
HTML / js (где я достигаютребуемые результаты)
<script>
console.log({{ result|safe }});
<!-- returns {product:"Something"} -->
</script>
Мой вызов AJAX (где мне не удается достичь желаемых результатов)
$.getJSON('/get_data', {},
function(data) {
console.log(data.result); // returns {"product":"Something"}
Вызов, который использует этот результат
function printObject(obj){
console.log(obj['product']); // prints "Something" for regular JS call, prints undefined for AJAX call
}
Таким образомЯ считаю, что разница невелика, то есть кавычки против отсутствия кавычек в ключе словаря, но этого достаточно, чтобы вызвать сбой функции printObject.Есть ли способ справиться с этим вне функции python (поскольку я собираюсь вызывать эту функцию как из обычной функции js, так и из вызова AJAX)?