Javascript 空回迁警报
我正在尝试使fetch停止,并在它返回错误消息时发出警报, 因此,Javascript 空回迁警报,javascript,reactjs,Javascript,Reactjs,我正在尝试使fetch停止,并在它返回错误消息时发出警报, 因此,()=>this.toggleModal()不会执行 handleSubmit(event){ const url = 'http://localhost:8000/issue/'; var issueid = 13900; var issueid = document.getElementById("SearchTxt").value; if(issueid
()=>this.toggleModal()
不会执行
handleSubmit(event){
const url = 'http://localhost:8000/issue/';
var issueid = 13900;
var issueid = document.getElementById("SearchTxt").value;
if(issueid == 0){
alert('Please insert IssueID or IssueKey')
}else{
var string2 = url+issueid;
fetch(string2)
.then(function(response) {
return response.json();
})
.then((myJson) => this.setState({example: myJson},() => this.toggleModal()))
}
}
不存在问题时返回的JSON:
{
错误消息:[
“问题不存在”
],
错误:{},
}
以防在return response.json()取消执行代码>您可以执行以下操作
handleSubmit(event){
const url = 'http://localhost:8000/issue/';
var issueid = document.getElementById("SearchTxt").value;
if(issueid == 0 || issueid == "" || issueid == undefined || issueid == null){
alert('Please insert IssueID or IssueKey')
return;
}
var string2 = url+issueid;
fetch(string2)
.then(function(response) {
const oJson = response.json();
// your validation of the json
if(oJson.hasOwnProperty("errorMessages") && oJson.errorMessages.includes("Issue Does Not Exist")
return Promise.reject(oJson.errorMessages[0]); // maybe use a better way instead of this hardcoded index
// set state if everything was properly done
this.setState({example: myJson},() => this.toggleModal())
})
.catch(error => {
// do some alert stuff
alert(error);
});
}
我已经设法修复了它:
handleSubmit(事件){
常量url=http://localhost:8000/issue/';
var=13900;
var issueid=document.getElementById(“SearchTxt”).value;
如果(issueid==0){
警报('请插入IssueID或IssueKey')
}否则{
var string2=url+issueid;
提取(字符串2)
.然后(功能(响应){
返回response.json();
})
.then((myJson)=>this.conditionalChaining(myJson));
}
}
条件链接(myJson){
如果(myJson.errorMessages=='问题不存在'){
警报('问题不存在')
}否则{
this.setState({example:myJson},()=>this.toggleModal());
}
}
问题出在哪里?是否仍要使用myJson
更新组件状态?或者完全跳过该部分?是否要执行。然后((myJson)=>此.setState({example:myJson}
,即使您收到errorMessage
,还是要在response.json()之后取消执行
如果它包含此消息?我想取消执行,并在警报上显示错误消息!@Eddo否,如果该错误消息出现,我不需要更新,只需要一个带有消息Thank@r3dst0rm的警报,但toogleModal仍然会执行!不幸的是,请尝试返回承诺.拒绝(oJson.errorMessages[0]
而不是抛出…
弹出窗口打开时没有问题,但它一直在尝试设置状态!