我正在尝试实施Calling an HTTP or REST API from Transaction Processor Functions
因此,当我请求GET https API时,它正在工作,但是当我尝试使用http API时,它无法工作并抛出错误:
RequestError:TypeError:无法获取
并且在浏览器控制台中因API而异: 网:: ERR_SSL_PROTOCOL_ERROR 网:: ERR_CONNECTION_CLOSED
我已经在postman中测试了http API,它们工作得非常好。这是代码:
transaction checkApi {
o String api
}
async function checkApi(tx) {
const apiObj = await request.get({ uri: tx.api, json: true });
console.log(apiObj);
});
是因为CORS吗?有人可以解释一下是什么问题吗?
我认为您正在尝试通过composer playground执行此事务,并将您的网络部署到Web浏览器而不是本地结构服务器。如果是这种情况,您将收到错误。因为它可能是CORS问题。我遇到了同样的问题。
但是当在本地结构服务器上测试Transaction时,同样的request.get()对我有效。
你应该做的另一件事是尝试使用request.get(“你的URL”);不要使用json标志。