Возврат действительного объекта JSON, который должен быть обработан обещанием JS - PullRequest
0 голосов
/ 02 мая 2018

Мое намерение - вернуть список сущностей в формате JSON, который затем обрабатывается клиентской JS с помощью Promises.

Я возвращаю объект JSON, подобный этому:

from webapp2_extras import json

class AllPostsJson(webapp2.RequestHandler):
    def get(self):
        posts = Post.query().fetch()
        self.response.content_type = 'application/json'
        self.response.headers['Access-Control-Allow-Origin'] = '*'
        self.response.out.write(json.encode([p.to_dict() for p in posts]))

Затем я использую библиотеку axios, чтобы сделать запрос:

posts = axios.get('example.com/posts-json').then(resp => resp.data)
console.log(posts) // output: Promise {<pending>}

Я ожидал, что переменная posts будет содержать массив объектов Post, но вместо этого он выводит это на консоль:

Promise {<pending>}
__proto__: 
Promise[[PromiseStatus]]: "resolved"
[[PromiseValue]]: undefined

1 Ответ

0 голосов
/ 02 мая 2018

Я не уверен, что это решит вашу проблему, но вы, возможно, неправильно настраиваете свой заголовок. Вот как я устанавливаю свои заголовки для JSON:

self.response.headers["Content-Type"] = "application/json; charset=utf-8"
...