Javascript 错误xhr.abort()不是使用Ajax jQuery的函数

Javascript 错误xhr.abort()不是使用Ajax jQuery的函数,javascript,jquery,ajax,reactjs,Javascript,Jquery,Ajax,Reactjs,我正在尝试使用.abort()方法中止Ajax请求。但它不断抛出错误 xhr.abort不是一个函数 这就是我所说的钩子: useffect(()=>{ 常量xhr=$.ajax(`https://pokeapi.co/api/v2/pokemon/${name}`) .then(sleeper(1))//创建一些延迟 。然后(响应=>{ setPokemon(回应); }) .catch(错误=>{ console.log(错误); }); return()=>{ xhr.abort();/

我正在尝试使用
.abort()
方法中止Ajax请求。但它不断抛出错误

xhr.abort不是一个函数
这就是我所说的钩子:

useffect(()=>{
常量xhr=$.ajax(`https://pokeapi.co/api/v2/pokemon/${name}`)
.then(sleeper(1))//创建一些延迟
。然后(响应=>{
setPokemon(回应);
})
.catch(错误=>{
console.log(错误);
});
return()=>{
xhr.abort();//错误:xhr.abort不是函数
};
}[姓名];


jQuery版本:3.4.1

正如@Twisty在评论中所说,它与jQuery版本相关。对于版本3,我们需要传递
XMLHttpRequest
的实例:

useffect(()=>{
const xhr=new window.XMLHttpRequest();//创建一个XMLHttpRequest实例
$.ajax({
网址:`https://pokeapi.co/api/v2/pokemon/${name}`,
xhr:function(){//在此处返回实例
返回xhr;
}
})
.然后(卧铺(1))
。然后(响应=>{
setPokemon(回应);
})
.catch(错误=>{
console.log(错误);
});
return()=>{
xhr.abort();//在React卸载生命周期中成功中止
};
}[姓名];

你是说
.fail()
?Abort不是jqXHR方法。查看更多:它与jQuery版本3相关:@Twisty Solved,谢谢!伟大的发布您自己的解决方案以供他人查看可能会有所帮助。