Reactjs 把电话放进去
这是我的服务方法,在这里我需要通过传递一个id来执行对API的put调用。这是正确的方法吗?因为我无法访问我的.put URLReactjs 把电话放进去,reactjs,typescript,Reactjs,Typescript,这是我的服务方法,在这里我需要通过传递一个id来执行对API的put调用。这是正确的方法吗?因为我无法访问我的.put URL ENDPOINTS = { SAMPLE: "/sample", }; 这是我的服务方式: updateApi(): Promise<any> { const config = { headers: { accept: "application/json",
ENDPOINTS = {
SAMPLE: "/sample",
};
这是我的服务方式:
updateApi(): Promise<any> {
const config = {
headers: {
accept: "application/json",
"Content-Type": "application/json",
},
};
const data = {
// data
};
const id = sample.id;
return http
.put(`${this.ENDPOINTS.SAMPLE}${id}`, data, config)
.then((response) => {
return response.data;
})
.catch((error) => {
throw error;
});
}
updateApi():承诺{
常量配置={
标题:{
接受:“应用程序/json”,
“内容类型”:“应用程序/json”,
},
};
常数数据={
//资料
};
const id=sample.id;
返回http
.put(`this.ENDPOINTS.SAMPLE}${id}`,数据,配置)
。然后((响应)=>{
返回响应数据;
})
.catch((错误)=>{
投掷误差;
});
}
我认为您的问题在于行const{id}=sample.id代码>
这应该是:const{id}=sample
或等效的const id=sample.id
此外,您的API端点缺少一个尾随的/
,因此您应该将其包含在.put()
调用中
示例:${this.ENDPOINTS.SAMPLE}/${id}
我认为您的问题在于行const{id}=SAMPLE.id代码>
这应该是:const{id}=sample
或等效的const id=sample.id
此外,您的API端点缺少一个尾随的/
,因此您应该将其包含在.put()
调用中
示例:${this.ENDPOINTS.SAMPLE}/${id}
不确定您是否有任何理由在此处使用http
,但如果您灵活,请尝试react中提供的fetch
API
const requestOptions={
方法:'放',
标题:{
接受:“应用程序/json”,
“内容类型”:“应用程序/json”,
},
正文:数据
};
获取(`${ENDPOINTS.SAMPLE}/${SAMPLE.id}`,requestOptions)
.then(response=>response.json())
.then(data=>this.setState({//updatedata here}));
如果您直接在组件中调用API,那么上述代码可以放在componentDidMount
中
如果你面临任何问题,请告诉我 不确定您是否有任何理由在此处使用http
,但如果您灵活,请尝试react中提供的fetch
API
const requestOptions={
方法:'放',
标题:{
接受:“应用程序/json”,
“内容类型”:“应用程序/json”,
},
正文:数据
};
获取(`${ENDPOINTS.SAMPLE}/${SAMPLE.id}`,requestOptions)
.then(response=>response.json())
.then(data=>this.setState({//updatedata here}));
如果您直接在组件中调用API,那么上述代码可以放在componentDidMount
中
如果你面临任何问题,请告诉我 我不太清楚你在问什么。您可以在应用程序中需要调用的任何地方调用updateApi()
函数。您尝试了哪些内容,哪些内容不起作用?请检查更新后的问题您在哪里定义变量sample
?根据错误消息,它是一个字符串。而且字符串实际上没有名为id
的属性。您是否使用需要解析的JSON字符串?答案隐藏在sample
变量中的任何内容中,因此目前只有您才能真正解决它。@Singh在开始解决问题时,请不要编辑问题中提供的原始代码,也不要更新问题中的当前问题。这会给现在和未来的读者带来困惑,使你的问题几乎毫无意义,我不太清楚你在问什么。您可以在应用程序中需要调用的任何地方调用updateApi()
函数。您尝试了哪些内容,哪些内容不起作用?请检查更新后的问题您在哪里定义变量sample
?根据错误消息,它是一个字符串。而且字符串实际上没有名为id
的属性。您是否使用需要解析的JSON字符串?答案隐藏在sample
变量中的任何内容中,因此目前只有您才能真正解决它。@Singh在开始解决问题时,请不要编辑问题中提供的原始代码,也不要更新问题中的当前问题。这会给当前和未来的读者带来困惑,使你的问题几乎毫无意义。是的,它将是const id=sample.id。是否正确,.put(${this.ENDPOINTS.SAMPLE}${id}
,数据,配置)。Bcoz我无法点击URL您的API端点/URL中也缺少一条斜线。更新了答案。是的,它将是const id=sample.id。是否正确,.put(${this.ENDPOINTS.SAMPLE}${id}
,数据,配置)。Bcoz我无法点击URL您的API端点/URL中也缺少一条斜线。更新了答案。我可以点击网址但得到404,所以我认为这个方法是错误的!id是我想在put通话中传递的东西。但是我在哪里储存它,我不知道。现在我将它存储在模型类中,即sample中。这是正确的方法吗?我不太熟悉reactjs completelyFirst,您想将id
作为查询参数或在请求正文中传递吗?ReactJS也使用JavaScript,它没有自己的东西。(仅供参考)id是一个路径参数好的,问题是,如果您得到的是404
,那么您的URL不正确,请检查一下。其次,关于id
,存储在哪里并不重要,它可以根据项目体系结构而变化。我建议只需将其传递到url,而不存储在任何地方。url是正确的,我在网络选项卡中得到的id未定义。我可以点击url,但得到404,所以我认为这种方法是错误的!身份证是我想通过的