为何我的jQuery请求返回422错误?相同函数昨日正常今日异常
422错误排查与解决建议
- 先直接访问目标RSS源地址
https://basketball.realgm.com/rss/wiretap/0/0.xml,确认它能正常返回XML内容。如果源本身挂了、返回异常,rss2json接口就会返回422错误。 - 检查rss2json接口的调用限制:这类免费接口通常有请求频率或每日配额限制,昨天能用今天报错,大概率是触发了限流或者配额耗尽。可以换个网络环境试试,或者等一段时间再请求。
- 手动构造请求看具体错误:在浏览器地址栏直接输入
https://api.rss2json.com/v1/api.json?rss_url=https://basketball.realgm.com/rss/wiretap/0/0.xml,查看返回的详细错误信息,比代码里的抛出信息更精准。 - 给代码加错误回调捕获细节:修改代码添加fail回调,打印完整错误响应,方便定位问题:
useEffect(()=>{ $.ajax({ url: 'https://api.rss2json.com/v1/api.json', method: 'GET', dataType: 'json', data: { rss_url: 'https://basketball.realgm.com/rss/wiretap/0/0.xml', } }).done(function (response) { if(response.status !== 'ok'){ throw response.message; } let filteredItems = response.items.filter(el => !el.title.toLowerCase().includes('realgm')); setNewNews(filteredItems); }).fail(function(xhr, status, error) { console.log('请求状态:', xhr.status); console.log('响应内容:', xhr.responseText); console.log('错误信息:', error); }); },[])
- 替换测试验证:把
rss_url换成一个确定可用的RSS源(比如主流体育媒体的RSS),如果请求正常返回,说明问题出在目标RSS源;如果还是422,那就是rss2json接口的问题。
内容的提问来源于stack exchange,提问作者allenmor
相关产品推荐
相关产品推荐

