【发布时间】:2021-10-30 03:26:22
【问题描述】:
我正在尝试为 Netlify 编写一个无服务器函数,该函数本质上是从 Prismic API(我正在使用的无头 CMS)获取 JSON。
我这样做的原因是最终提供一个 Snipcart,一个购物车,带有一个“产品 URL”,它可以用来抓取 JSON 并验证交易。信息在这里:https://docs.snipcart.com/v2/configuration/json-crawler
const Prismic = require("@prismicio/client");
exports.handler = async function () {
Prismic.client("https://my-repository.cdn.prismic.io/api/v2", { req: req })
.then(function (api) {
return api.query(Prismic.Predicates.at("document.type", "product"));
})
.then(function (response) {
console.log(response)
const data = await response.json();
return {
statusCode: 200,
headers : {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify(data),
};
});
};
使用上面的代码,我从控制台收到两条错误消息:
GET http://localhost:8888/.netlify/functions/prismic 500(内部服务器错误)
Uncaught (in promise) SyntaxError: Unexpected token S in JSON at position 0
...我对这个世界很陌生,非常感谢任何帮助!
【问题讨论】:
-
api.query看起来不会返回 json -
我在这里关注 Prismic 查询文档:prismic.io/docs/technologies/how-to-query-the-api-javascript 你认为它们看起来应该工作吗?...现在我已经删除了 json 辅助函数来测试我是否得到任何来自 API 的响应。什么都没有,只是一个 TypeError 'Prismic.client(...).then is not a function'
标签: javascript fetch serverless prismic.io