返回一个由 JS promise 处理的有效 JSON 对象

Returning a valid JSON object which is to be handled by JS promise

我的意图是 return 一个 JSON 格式的实体列表,然后由客户端 JS 使用 Promises 处理。

我正在 return 创建一个这样的 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

我不确定这是否能解决您的问题,但您的 header 设置可能不正确。这就是我为 JSON:

设置 headers 的方式
self.response.headers["Content-Type"] = "application/json; charset=utf-8"