Javascript 将节点JS请求转换为API以响应获取语法
我正在用React Native编写一个向Hubspot API发出请求的应用程序。这给我带来了一些问题,因为我最初尝试使用Node JS请求模块发出请求,但在使用Expo时,该模块不适用于React Native。我现在正试图使用React Native自己的Fetch API向Hubspot API发出请求,但在翻译使用Node JS请求模块编写的初始代码时遇到了问题。向Hubspot API发出请求时出错。我已经在这个问题上附加了两个版本的代码。谁能解释一下我翻译的NodeJS代码有什么问题吗?任何建议都将不胜感激Javascript 将节点JS请求转换为API以响应获取语法,javascript,node.js,react-native,request,hubspot,Javascript,Node.js,React Native,Request,Hubspot,我正在用React Native编写一个向Hubspot API发出请求的应用程序。这给我带来了一些问题,因为我最初尝试使用Node JS请求模块发出请求,但在使用Expo时,该模块不适用于React Native。我现在正试图使用React Native自己的Fetch API向Hubspot API发出请求,但在翻译使用Node JS请求模块编写的初始代码时遇到了问题。向Hubspot API发出请求时出错。我已经在这个问题上附加了两个版本的代码。谁能解释一下我翻译的NodeJS代码有什么问
欢迎来到堆栈溢出:) 我认为您的
fetch
请求写得不正确。您可以直接将所有参数传递给获取
函数,而不是创建新请求
常量:
fetch('https://hubapi.com/whatever/CONFIDENTIAL', {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
properties
})
})
.catch((error) => {
console.error(error);
});
注意,我还在请求末尾添加了一个catch
块。如果它仍然失败,你至少应该更好地理解到底是什么失败了
我上面引用的代码取自React原生文档链接。这些文档包含了很多很好的示例,包括使用async/await和其他网络库。我在react native项目中为您测试了它。请求成功,当然我得到
此hapikey(机密)作为响应不存在,因为我没有密钥,但查询成功运行:
try {
const response = await fetch(
'https://api.hubapi.com/contacts/v1/contact/?hapikey=CONFIDENTIAL',
{
method: 'POST',
headers: new Headers({ 'Content-Type': 'application/json' }),
body: JSON.stringify({
"properties": [
{ property: 'email', value: 'test@email.com' },
{ property: 'firstname', value: 'Sean' },
{ property: 'lastname', value: 'Smith' },
]
})
}
);
const responseJson = await response.json();
console.log("response from hubapi:", responseJson)
} catch (e) {
console.error("Error on fetch request:", e);
}
欢迎来到StackOverflow。请以文本形式发布代码。这非常有用,谢谢!我认为我的请求失败的主要原因是因为我没有将正文转换为JSON格式。我很高兴它有帮助!你能把我的答案标记为被接受的答案,这样其他有同样问题的人就可以直接找到解决方案吗?谢谢这真的很有用谢谢!正如我在上面的评论中所说,我认为我最初的请求失败的主要原因是我没有将主体转换为JSON格式。也感谢您提供的示例链接,我将在以后处理更多请求时查看这些示例。