我使用fetch查询自己的WordPress REST API端点。但是,我使用fetch进行的每个请求都会以302状态代码的无限循环结束,直到最后使用TOO_MANY_REDIRECTS获取错误。
这是在Chrome 56上,使用本机提取。但是当我使用浏览器访问端点时,使用XHR或Postman,我总是获得200作为状态。
另一方面,XHR ......与此问题相关的代码:
static checkStatus(email = null) {
const cookie = Cookies.get('cookiename');
const data = email || cookie;
if (!cookie && !email) {
return Promise.reject(new Error('No data given.'));
}
// This works.
return new Promise((resolve, reject) => {
request({
url: `/wp-json/woo/donate/status/?email=${data}`,
method: 'GET',
success: (response) => {
resolve(response);
},
error: (error) => {
reject(error);
}
})
});
// This doesn't.
return fetch(`/wp-json/woo/donate/status/?email=${data}`, {
method: 'GET',
});
}
请注意,我的代码中实际上没有两个连续的return语句,仅用于演示。我使用request()
作为XHR的包装器,您可以找到source for that here。
那么我该如何解决这个问题呢?我知道fetch仍然是&34;实验"但是我已经在几个已经发布的项目中使用它,将polyfill捆绑到尚不支持它的浏览器上。这是一件新鲜事。
答案 0 :(得分:2)
通过销毁我的本地Vagrant机器并重新启动它来“重建”WordPress解决了这个问题。
一次,再次打开和关闭它可以解决问题。